[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    extragear/office/skrooge
From:       Stephane Mankowski <stephane () mankowski ! fr>
Date:       2009-11-15 21:32:54
Message-ID: 1258320774.299680.2978.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1049802 by smankowski:

frozen widgets (The soluce)

 M  +1 -3      skgbasegui/CMakeLists.txt  
 M  +0 -42     skgbasegui/skgcombobox.cpp  
 M  +2 -34     skgbasegui/skgcombobox.h  
 D             skgbasegui/skglineedit.cpp  
 D             skgbasegui/skglineedit.h  
 D             skgbasegui/skglineeditdesignerplugin.cpp  
 D             skgbasegui/skglineeditdesignerplugin.h  
 M  +0 -2      skgbasegui/skgwidgetcollectiondesignerplugin.cpp  
 M  +53 -30    skrooge_operation/skgoperationpluginwidget.cpp  
 M  +4 -5      skrooge_operation/skgoperationpluginwidget.h  
 M  +3 -2      skrooge_report/skgreportpluginwidget.cpp  


--- trunk/extragear/office/skrooge/skgbasegui/CMakeLists.txt #1049801:1049802
@@ -7,7 +7,7 @@
 )
 LINK_DIRECTORIES (${LIBRARY_OUTPUT_PATH})
 
-SET(skgbasegui_SRCS 
+SET(skgbasegui_SRCS
    skgmainpanel.cpp
    skgobjectmodelbase.cpp
    skgwidget.cpp
@@ -22,8 +22,6 @@
    skgtreeview.cpp
    skgcomboboxdesignerplugin.cpp
    skgcombobox.cpp
-   skglineeditdesignerplugin.cpp
-   skglineedit.cpp
    skgcalculatoreditdesignerplugin.cpp
    skgcalculatoredit.cpp
    skggraphicsviewdesignerplugin.cpp
--- trunk/extragear/office/skrooge/skgbasegui/skgcombobox.cpp #1049801:1049802
@@ -26,12 +26,8 @@
 SKGComboBox::SKGComboBox(QWidget *parent)
                 : KComboBox(parent)
 {
-        connect(this,SIGNAL(activated(QString)),this,SIGNAL(textEdited(QString)));
-        
 }
 
-
-
 SKGComboBox::~SKGComboBox()
 {
 }
@@ -51,49 +47,11 @@
         setCurrentIndex(pos);
 }
 
-
-
-bool SKGComboBox::isFrozen()
-{
-    return frozen;
-}
-
-
-void SKGComboBox::setFrozen ()
-{
-    frozen = true;
-    QPalette pal = palette();
-    pal.setColor(QPalette::Base,pal.color(QPalette::ToolTipBase));
-    setPalette(pal);
-    
-}
-
-
-void SKGComboBox::setUnfrozen()
-{
-    frozen = false;
-    setPalette(QPalette());
-}
-
-
-
-void SKGComboBox::setEditable ( bool editable )
-{
-    KComboBox::setEditable(editable);
-    if(isEditable()) {
-        connect(this->lineEdit(),SIGNAL(textEdited(QString)),this,SIGNAL(textEdited(QString)));
                
-    }
-}
-
-
 void SKGComboBox::setPalette ( const QPalette& palette )
 {
     QTextStream out(stdout);
-    out << "settingPalette on" << accessibleName() << endl; 
     KComboBox::setPalette(palette);
     lineEdit()->setPalette(palette);
 }
-
-
 #include "skgcombobox.moc"
 
--- trunk/extragear/office/skrooge/skgbasegui/skgcombobox.h #1049801:1049802
@@ -63,44 +63,12 @@
 
         /**
          * Set the Palette for the combobox.
-         * Reimplemented since the base method does 
-         * not apply the Palette to the underlying 
+         * Reimplemented since the base method does
+         * not apply the Palette to the underlying
          * QlineEdit
          * @param palette the new palette
          */
         virtual void setPalette (const QPalette& palette);
-
-        /**
-         * Returns the combo frozen state
-         * @return the frozen state (true or false)
-         */
-        virtual bool isFrozen();
-        
-        /**
-         * Sets the combo editable state
-         * Reimplemented so that the underlying
-         * QLineEdit emits the textEdited Signal when 
-         * textChanged is emitted
-         * @param editable true or false
-         */
-        virtual void setEditable ( bool editable );
-        
-public slots:
-        virtual void setFrozen();
-        virtual void setUnfrozen();
-
-private:
-        Q_DISABLE_COPY(SKGComboBox);
-        bool frozen;
-        
-signals:
-        /**
-         * Emitted whenever the user selects something from
-         * the combo, or when the user types something in the
-         * edit field
-         */
-        void textEdited(QString);
-
 };
 
 #endif // SKGCOMBOBOX_H
--- trunk/extragear/office/skrooge/skgbasegui/skgwidgetcollectiondesignerplugin.cpp \
#1049801:1049802 @@ -20,7 +20,6 @@
  * @author Stephane MANKOWSKI / Guillaume DE BURE
  */
 #include "skgwidgetcollectiondesignerplugin.h"
-#include "skglineeditdesignerplugin.h"
 #include "skgcomboboxdesignerplugin.h"
 #include "skgtableviewdesignerplugin.h"
 #include "skgtreeviewdesignerplugin.h"
@@ -37,7 +36,6 @@
 {
         widgets.append(new SKGCalculatorEditDesignerPlugin(this));
         widgets.append(new SKGComboBoxDesignerPlugin(this));
-        widgets.append(new SKGLineEditDesignerPlugin(this));
         widgets.append(new SKGDateEditDesignerPlugin(this));
         widgets.append(new SKGGraphicsViewDesignerPlugin(this));
         widgets.append(new SKGTableViewDesignerPlugin(this));
--- trunk/extragear/office/skrooge/skrooge_operation/skgoperationpluginwidget.cpp \
#1049801:1049802 @@ -179,23 +179,14 @@
     ui.kTypeEdit->lineEdit()->installEventFilter ( this );
     ui.kUnitEdit->lineEdit()->installEventFilter ( this );
     ui.kCategoryEdit->lineEdit()->installEventFilter ( this );
+    ui.kCategoryEdit->installEventFilter ( this );
     ui.kCommentEdit->installEventFilter ( this );
     ui.kPayeeEdit->lineEdit()->installEventFilter ( this );
     ui.kTrackerEdit->lineEdit()->installEventFilter ( this );
     ui.kAccountEdit->installEventFilter ( this );
     ui.kAmountEdit->installEventFilter ( this );
     ui.kNumberEdit->installEventFilter ( this );
-    
-    // Frozen Widgets
-    connect(ui.kTypeEdit,SIGNAL(textEdited(QString)),ui.kTypeEdit,SLOT(setFrozen()));
                
-    connect(ui.kUnitEdit,SIGNAL(textEdited(QString)),ui.kUnitEdit,SLOT(setFrozen()));
                
-    connect(ui.kCategoryEdit,SIGNAL(textEdited(QString)),ui.kCategoryEdit,SLOT(setFrozen()));
                
-    connect(ui.kCommentEdit,SIGNAL(textEdited(QString)),ui.kCommentEdit,SLOT(setFrozen()));
                
-    connect(ui.kPayeeEdit,SIGNAL(textEdited(QString)),ui.kPayeeEdit,SLOT(setFrozen()));
                
-    connect(ui.kTrackerEdit,SIGNAL(textEdited(QString)),ui.kTrackerEdit,SLOT(setFrozen()));
                
-    connect(ui.kAmountEdit,SIGNAL(textEdited(QString)),ui.kAmountEdit,SLOT(setFrozen()));
                
-    connect(ui.kNumberEdit,SIGNAL(textEdited(QString)),ui.kNumberEdit,SLOT(setFrozen()));
                
-    
+
     fillComboBoxes();
     onOperationCreatorModified();
 }
@@ -211,16 +202,32 @@
     refreshDelShortcut();
 }
 
-bool SKGOperationPluginWidget::isWidgetEditionEnabled(const QWidget* iWidget)
+bool SKGOperationPluginWidget::isWidgetEditionEnabled(QWidget* iWidget)
 {
-  return (iWidget ? iWidget->isEnabled() : false);
+  if(iWidget)
+  {
+    QPalette pal = iWidget->palette();
+    return (pal.color(QPalette::Base)!=pal.color(QPalette::ToolTipBase));
+  }
+
+  return false;
 }
 
 void SKGOperationPluginWidget::setWidgetEditionEnabled(QWidget* iWidget, bool \
iEnabled)  {
   if(iWidget && isWidgetEditionEnabled(iWidget)!=iEnabled)
   {
-    iWidget->setEnabled(iEnabled);
+    if(iEnabled)
+    {
+      iWidget->setPalette(QPalette());
+    }
+    else
+    {
+      QPalette pal = iWidget->palette();
+      pal.setColor(QPalette::Base,pal.color(QPalette::ToolTipBase));
+      iWidget->setPalette(pal);
+    }
+
     QString addOn=i18n("Double click to unlock this field");
     QString t=iWidget->toolTip().remove('\n'+addOn).remove(addOn);
     if(!iEnabled)
@@ -240,6 +247,33 @@
 	  QWidget* ob=(QWidget*) object;
 	  setWidgetEditionEnabled(ob, !isWidgetEditionEnabled(ob));
     }
+    else if ( event->type() == QEvent::FocusIn )
+    {
+      QLineEdit* line=dynamic_cast<QLineEdit*>(object);
+      if(line) previousValue=line->text();
+      else
+      {
+	SKGComboBox* cmb=dynamic_cast<SKGComboBox*>(object);
+	if(cmb) previousValue=cmb->text();
+      }
+    }
+    else if ( event->type() == QEvent::FocusOut )
+    {
+      QLineEdit* line=dynamic_cast<QLineEdit*>(object);
+      if(line)
+      {
+	if(previousValue!=line->text()) setWidgetEditionEnabled(line, false);
+      }
+      else
+      {
+	SKGComboBox* cmb=dynamic_cast<SKGComboBox*>(object);
+	if(cmb)
+	{
+	  if(previousValue!=cmb->text()) setWidgetEditionEnabled(cmb->lineEdit(), false);
+	}
+      }
+    }
+
     return false;
 }
 
@@ -259,17 +293,6 @@
     setWidgetEditionEnabled(ui.kAccountEdit, true);
     setWidgetEditionEnabled(ui.kAmountEdit, true);
     setWidgetEditionEnabled(ui.kNumberEdit, true);
-    
-    // Remove Frozen State
-    ui.kTypeEdit->setUnfrozen();
-    ui.kUnitEdit->setUnfrozen();
-    ui.kCategoryEdit->setUnfrozen();
-//     ui.kCommentEdit->setUnfrozen();
-    ui.kPayeeEdit->setUnfrozen();
-    ui.kTrackerEdit->setUnfrozen();
-//     ui.kAmountEdit->setUnfrozen();
-//     ui.kNumberEdit->setUnfrozen();
-    
 
     //Mapping
     QItemSelectionModel *selModel=ui.kOperationView->selectionModel();
@@ -1661,12 +1684,12 @@
             SKGOperationObject op=operations.at ( 0 );
 
             lastFastEditionOperationFound=op.getID();
-            if(isWidgetEditionEnabled(ui.kTypeEdit->lineEdit()) && \
                !ui.kTypeEdit->isFrozen()) ui.kTypeEdit->setText ( op.getMode() );
-            if(isWidgetEditionEnabled(ui.kUnitEdit->lineEdit()) && \
                !ui.kUnitEdit->isFrozen()) ui.kUnitEdit->setText ( op.getAttribute ( \
                "t_UNIT" ) );
-            if(isWidgetEditionEnabled(ui.kCategoryEdit->lineEdit()) && \
!ui.kCategoryEdit->isFrozen()) ui.kCategoryEdit->setText ( op.getAttribute ( \
"t_CATEGORY" ) ); +            if(isWidgetEditionEnabled(ui.kTypeEdit->lineEdit())) \
ui.kTypeEdit->setText ( op.getMode() ); +            \
if(isWidgetEditionEnabled(ui.kUnitEdit->lineEdit())) ui.kUnitEdit->setText ( \
op.getAttribute ( "t_UNIT" ) ); +            \
if(isWidgetEditionEnabled(ui.kCategoryEdit->lineEdit())) ui.kCategoryEdit->setText ( \
                op.getAttribute ( "t_CATEGORY" ) );
             if(isWidgetEditionEnabled(ui.kCommentEdit)) ui.kCommentEdit->setText ( \
                op.getComment() );
-            if(isWidgetEditionEnabled(ui.kPayeeEdit->lineEdit()) && \
                !ui.kPayeeEdit->isFrozen()) ui.kPayeeEdit->setText ( op.getPayee() );
-            if(isWidgetEditionEnabled(ui.kTrackerEdit->lineEdit()) && \
!ui.kTrackerEdit->isFrozen()) ui.kTrackerEdit->setText ( op.getAttribute ( "t_REFUND" \
) ); +            if(isWidgetEditionEnabled(ui.kPayeeEdit->lineEdit())) \
ui.kPayeeEdit->setText ( op.getPayee() ); +            \
if(isWidgetEditionEnabled(ui.kTrackerEdit->lineEdit())) ui.kTrackerEdit->setText ( \
                op.getAttribute ( "t_REFUND" ) );
             if(ui.kAccountEdit->isEnabled() ) ui.kAccountEdit->setText ( \
                op.getAttribute ( "t_ACCOUNT" ) );
             if(isWidgetEditionEnabled(ui.kAmountEdit)) ui.kAmountEdit->setValue ( \
SKGServices::stringToDouble ( op.getAttribute ( "f_QUANTITY" ) ) );  
--- trunk/extragear/office/skrooge/skrooge_operation/skgoperationpluginwidget.h \
#1049801:1049802 @@ -143,19 +143,17 @@
         void onTemplateModeClicked();
         void cleanEditor();
         void refreshDelShortcut();
-        
 
+
 private:
         Q_DISABLE_COPY ( SKGOperationPluginWidget );
 
         SKGError getSelectedOperation ( SKGOperationObject& operation );
 
-        bool isWidgetEditionEnabled(const QWidget* iWidget);
+        bool isWidgetEditionEnabled(QWidget* iWidget);
         void setWidgetEditionEnabled(QWidget* iWidget, bool iEnabled);
 
-        QList<QWidget*> frozenWidgets;
-        
-        
+
         bool isTemplateMode();
         int getCurrentMode();
         void setCurrentMode(int iMode);
@@ -170,6 +168,7 @@
         Ui::skgoperationplugin_base ui;
         SKGObjectModel* objectModel;
         QString operationWhereClause;
+	QString previousValue;
         QDomDocument lastState;
 
         KAction* fastEditionAction;
--- trunk/extragear/office/skrooge/skrooge_report/skgreportpluginwidget.cpp \
#1049801:1049802 @@ -58,14 +58,15 @@
     connect ( openReportAction, SIGNAL ( triggered ( bool ) ), this, SLOT ( \
onOpenReport() ) );  
     //Init comboboxes
-    AttsForColumns << "d_DATEWEEK" << "d_DATEMONTH" << "d_DATEQUARTER" << \
"d_DATESEMESTER" << "d_DATEYEAR" << ""; +    AttsForColumns << "d_date" << \
"d_DATEWEEK" << "d_DATEMONTH" << "d_DATEQUARTER" << "d_DATESEMESTER" << "d_DATEYEAR" \
<< ""; +    ui.kColumns->addItem ( i18nc ( "Noun, days","Days" ) );
     ui.kColumns->addItem ( i18nc ( "Noun, 7 days","Weeks" ) );
     ui.kColumns->addItem ( i18nc ( "Noun, the months in a year","Months" ) );
     ui.kColumns->addItem ( i18nc ( "Noun, 3 months","Quarters" ) );
     ui.kColumns->addItem ( i18nc ( "Noun, 6 months","Semesters" ) );
     ui.kColumns->addItem ( i18nc ( "Noun, the years in a century","Years" ) );
     ui.kColumns->addItem ( i18nc ( "Noun, the absence of anything","-- Nothing --" ) \
                );
-    ui.kColumns->setCurrentIndex(1);
+    ui.kColumns->setCurrentIndex(2);
 
     AttsForLines << "t_REALCATEGORY" << "t_payee" << "t_mode" << "t_TYPEEXPENSENLS" \
<< "t_status" << "t_ACCOUNTTYPE" << "t_UNITTYPE" << "t_REALREFUND";  


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic