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

List:       kde-commits
Subject:    branches/KDE/3.5/kdepim
From:       Pradeepto Bhattacharya <pradeepto () kde ! org>
Date:       2008-07-23 7:41:57
Message-ID: 1216798917.051608.6766.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 836861 by pradeepto:

Merged revisions 790349-790352 via svnmerge from 
svn+ssh://pradeepto@svn.kde.org/home/kde/branches/kdepim/enterprise/kdepim

........
  r790349 | ervin | 2008-03-26 21:38:28 +0530 (Wed, 26 Mar 2008) | 4 lines
  
  No need for this extra open of the search folder. It's supposed to be
  already opened, and avoid one extra close in the SearchWindow dtor (was
  crashing kmail if the search folder was opened after being renamed).
........
  r790352 | ervin | 2008-03-26 21:58:20 +0530 (Wed, 26 Mar 2008) | 7 lines
  
  Add an "Open Message" button, and the old open button is now "Open
  Search Folder". Removed the "Rename" button, now the search folder is
  renamed "as you type" (after a small delay).
  
  Fixes kolab/issue2217.
........


 _M            . (directory)  
 M  +34 -12    kmail/searchwindow.cpp  
 M  +6 -2      kmail/searchwindow.h  


** branches/KDE/3.5/kdepim #property svnmerge-integrated
   - /branches/kdepim/enterprise/kdepim:1-767022,767033,767233-767554,767556,767558-76 \
7946,767948-769318,769320-769354,769356-771105,771107-771251,771253-772311,772313-7723 \
16,772318-775194,775196-775202,775204,775207-775211,775213-778001,778003-778004,778007 \
,778010-778011,778013-778029,778031-778727,778729-779448,779450-779482,779484-779505,7 \
79507-779852,779854-779994,780211,780251,781595,782647-783127,783129-783243,783245,783 \
248-783477,783479-783847,784129,784547,785316-785317,787827,788634,789925,817568,81760 \
4,817710-818288,818312-819076,819078-820073,820075-821035,821037-821124,821126-821378, \
821380-821648,821650-821813,821815-821835,821837-822268,822270-823864,823866-824217,82 \
4219-824277,824279-824285,824287-824288,824290-824805,824807-825075,825077-825083,825085-826354,826356-827491,830100,830443
  + /branches/kdepim/enterprise/kdepim:1-767022,767033,767233-767554,767556,767558-767 \
946,767948-769318,769320-769354,769356-771105,771107-771251,771253-772311,772313-77231 \
6,772318-775194,775196-775202,775204,775207-775211,775213-778001,778003-778004,778007, \
778010-778011,778013-778029,778031-778727,778729-779448,779450-779482,779484-779505,77 \
9507-779852,779854-779994,780211,780251,781595,782647-783127,783129-783243,783245,7832 \
48-783477,783479-783847,784129,784547,785316-785317,787827,788634,789925,790349-790352 \
,817568,817604,817710-818288,818312-819076,819078-820073,820075-821035,821037-821124,8 \
21126-821378,821380-821648,821650-821813,821815-821835,821837-822268,822270-823864,823 \
866-824217,824219-824277,824279-824285,824287-824288,824290-824805,824807-825075,825077-825083,825085-826354,826356-827491,830100,830443
                
--- branches/KDE/3.5/kdepim/kmail/searchwindow.cpp #836860:836861
@@ -239,6 +239,8 @@
 
   connect(mLbxMatches, SIGNAL(doubleClicked(QListViewItem *)),
           this, SLOT(slotShowMsg(QListViewItem *)));
+  connect(mLbxMatches, SIGNAL(currentChanged(QListViewItem *)),
+          this, SLOT(slotCurrentChanged(QListViewItem *)));
   connect( mLbxMatches, SIGNAL( contextMenuRequested( QListViewItem*, const QPoint \
                &, int )),
            this, SLOT( slotContextMenuRequested( QListViewItem*, const QPoint &, int \
)));  vbl->addWidget(mLbxMatches);
@@ -254,18 +256,20 @@
 
   mSearchFolderLbl->setBuddy(mSearchFolderEdt);
   hbl2->addWidget(mSearchFolderEdt);
-  mSearchFolderBtn = new QPushButton(i18n("&Rename"), searchWidget);
-  mSearchFolderBtn->setEnabled(false);
-  hbl2->addWidget(mSearchFolderBtn);
-  mSearchFolderOpenBtn = new QPushButton(i18n("Op&en"), searchWidget);
+  mSearchFolderOpenBtn = new QPushButton(i18n("Op&en Search Folder"), searchWidget);
   mSearchFolderOpenBtn->setEnabled(false);
   hbl2->addWidget(mSearchFolderOpenBtn);
   connect( mSearchFolderEdt, SIGNAL( textChanged( const QString &)),
-           this, SLOT( updateCreateButton( const QString & )));
-  connect( mSearchFolderBtn, SIGNAL( clicked() ),
+           this, SLOT( scheduleRename( const QString & )));
+  connect( &mRenameTimer, SIGNAL( timeout() ),
            this, SLOT( renameSearchFolder() ));
   connect( mSearchFolderOpenBtn, SIGNAL( clicked() ),
            this, SLOT( openSearchFolder() ));
+  mSearchResultOpenBtn = new QPushButton(i18n("Open &Message"), searchWidget);
+  mSearchResultOpenBtn->setEnabled(false);
+  hbl2->addWidget(mSearchResultOpenBtn);
+  connect( mSearchResultOpenBtn, SIGNAL( clicked() ),
+           this, SLOT( slotShowSelectedMsg() ));
   mStatusBar = new KStatusBar(searchWidget);
   mStatusBar->insertFixedItem(i18n("AMiddleLengthText..."), 0, true);
   mStatusBar->changeItem(i18n("Ready."), 0);
@@ -509,6 +513,7 @@
             this, SLOT(slotAddMsg(int)));
     connect(mFolder, SIGNAL(msgRemoved(KMFolder*, Q_UINT32)),
             this, SLOT(slotRemoveMsg(KMFolder*, Q_UINT32)));
+    mSearchFolderEdt->setEnabled(false);
     KMSearch *search = new KMSearch();
     connect(search, SIGNAL(finished(bool)),
             this, SLOT(searchDone()));
@@ -527,10 +532,6 @@
     mFolder->setSearch(search);
     enableGUI();
 
-    if (mFolder && !mFolders.contains(mFolder.operator->()->folder())) {
-        mFolder->open("searchwindow");
-        mFolders.append(mFolder.operator->()->folder());
-    }
     mTimer->start(200);
 }
 
@@ -548,6 +549,8 @@
 
     mLbxMatches->setSorting(mSortColumn, mSortOrder == Ascending);
     mLbxMatches->setShowSortIndicator(true);
+
+    mSearchFolderEdt->setEnabled(true);
 }
 
 void SearchWindow::slotAddMsg(int idx)
@@ -625,9 +628,15 @@
 }
 
 //-----------------------------------------------------------------------------
-void SearchWindow::updateCreateButton( const QString &s)
+void SearchWindow::scheduleRename( const QString &s)
 {
-    mSearchFolderBtn->setEnabled(s != i18n("Last Search") && \
mSearchFolderOpenBtn->isEnabled()); +    if (!s.isEmpty() && s != i18n("Last \
Search")) { +      mRenameTimer.start(250, true);
+      mSearchFolderOpenBtn->setEnabled(false);
+    } else {
+      mRenameTimer.stop();
+      mSearchFolderOpenBtn->setEnabled(true);
+    }
 }
 
 //-----------------------------------------------------------------------------
@@ -647,6 +656,7 @@
             ++i;
         }
     }
+    mSearchFolderOpenBtn->setEnabled(true);
 }
 
 void SearchWindow::openSearchFolder()
@@ -693,6 +703,18 @@
 }
 
 //-----------------------------------------------------------------------------
+void SearchWindow::slotShowSelectedMsg()
+{
+    slotShowMsg(mLbxMatches->currentItem());
+}
+
+//-----------------------------------------------------------------------------
+void SearchWindow::slotCurrentChanged(QListViewItem *item)
+{
+  mSearchResultOpenBtn->setEnabled(item!=0);
+}
+
+//-----------------------------------------------------------------------------
 void SearchWindow::enableGUI()
 {
     KMSearch const *search = (mFolder) ? (mFolder->search()) : 0;
--- branches/KDE/3.5/kdepim/kmail/searchwindow.h #836860:836861
@@ -25,6 +25,7 @@
 #include <qptrlist.h>
 #include <qstringlist.h>
 #include <qguardedptr.h>
+#include <qtimer.h>
 
 #include <kdialogbase.h>
 #include <kxmlguiclient.h>
@@ -108,11 +109,13 @@
   virtual void slotClose();
   virtual void slotSearch();
   virtual void slotStop();
-  void updateCreateButton( const QString &);
+  void scheduleRename( const QString &);
   void renameSearchFolder();
   void openSearchFolder();
   void folderInvalidated(KMFolder *);
   virtual bool slotShowMsg(QListViewItem *);
+  void slotShowSelectedMsg();
+  void slotCurrentChanged(QListViewItem *);
   virtual void updateContextMenuActions();
   virtual void slotContextMenuRequested( QListViewItem*, const QPoint &, int );
   virtual void copySelectedToFolder( int menuId );
@@ -167,8 +170,8 @@
   KListView* mLbxMatches;
   QLabel *mSearchFolderLbl;
   QLineEdit *mSearchFolderEdt;
-  QPushButton *mSearchFolderBtn;
   QPushButton *mSearchFolderOpenBtn;
+  QPushButton *mSearchResultOpenBtn;
   KStatusBar* mStatusBar;
   QWidget* mLastFocus; // to remember the position of the focus
   QMap<int,KMFolder*> mMenuToFolder;
@@ -178,6 +181,7 @@
     *mCopyAction, *mCutAction;
   KActionMenu *mForwardActionMenu;
   QValueList<QGuardedPtr<KMFolder> > mFolders;
+  QTimer mRenameTimer;
 
   // not owned by us
   KMMainWidget* mKMMainWidget;


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

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