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

List:       kde-commits
Subject:    KDE/kdepim/kleopatra/conf
From:       Marc Mutz <mutz () kde ! org>
Date:       2008-02-22 16:52:34
Message-ID: 1203699154.765025.19578.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 778146 by mutz:

Allow to edit icons

 M  +10 -0     CMakeLists.txt  
 M  +27 -4     appearanceconfigwidget.cpp  
 M  +1 -0      appearanceconfigwidget.h  
 M  +10 -0     appearanceconfigwidget.ui  


--- trunk/KDE/kdepim/kleopatra/conf/CMakeLists.txt #778145:778146
@@ -1,6 +1,16 @@
 include_directories( ${CMAKE_SOURCE_DIR}/kleopatra )
 
+if ( ONLY_KLEO )
+  add_definitions( -DONLY_KLEO )
+  set( _kcm_kleopatra_kleo_only_SRCS
+    ../utils/kleo_kicondialog.cpp
+    )
+else ( ONLY_KLEO )
+  set( _kcm_kleopatra_extra_libs ${KDE4_KIO_LIBS} )
+endif ( ONLY_KLEO )
+
 set(kcm_kleopatra_PART_SRCS 
+   ${_kcm_kleopatra_kleo_only_SRCS}
    dirservconfigpage.cpp 
    appearanceconfigpage.cpp 
    appearanceconfigwidget.cpp 
--- trunk/KDE/kdepim/kleopatra/conf/appearanceconfigwidget.cpp #778145:778146
@@ -39,12 +39,14 @@
 #include "libkleo/kleo/cryptobackendfactory.h"
 #include "libkleo/kleo/keyfiltermanager.h"
 
+#ifdef ONLY_KLEO
+# include <utils/kleo_kicondialog.h>
+#else
+# include <kicondialog.h>
+#endif
+
 #include <kconfig.h>
-#include <kdialog.h>
 #include <klocale.h>
-#include <kdebug.h>
-#include <kmessagebox.h>
-#include <kfontdialog.h>
 #include <kconfiggroup.h>
 
 #include <QColor>
@@ -65,6 +67,9 @@
 using namespace Kleo;
 using namespace Kleo::Config;
 using namespace boost;
+#ifdef ONLY_KLEO
+using namespace Kleo::KioAvoidance;
+#endif
 
 /*! Records that the user has assigned a name (to avoid comparing with i18n-strings) \
*/  static const int HasNameRole = Qt::UserRole;
@@ -230,6 +235,7 @@
         if ( QLayout * const l = q->layout() )
             l->setMargin( 0 );
 
+        connect( iconButton, SIGNAL(clicked()), q, SLOT(slotIconClicked()) );
         connect( foregroundButton, SIGNAL(clicked()), q, \
                SLOT(slotForegroundClicked()) );
         connect( backgroundButton, SIGNAL(clicked()), q, \
                SLOT(slotBackgroundClicked()) );
         connect( fontButton, SIGNAL(clicked()), q, SLOT(slotFontClicked()) );
@@ -246,6 +252,7 @@
     QListWidgetItem * selectedItem() const;
 
 private:
+    void slotIconClicked();
     void slotForegroundClicked();
     void slotBackgroundClicked();
     void slotFontClicked();
@@ -275,6 +282,7 @@
 }
 
 void AppearanceConfigWidget::Private::enableDisableActions( QListWidgetItem * item ) \
{ +    iconButton->setEnabled( item );
     foregroundButton->setEnabled( item );
     backgroundButton->setEnabled( item );
     fontButton->setEnabled( item );
@@ -344,7 +352,22 @@
     KeyFilterManager::instance()->reload();
 }
 
+void AppearanceConfigWidget::Private::slotIconClicked() {
+    QListWidgetItem * const item = selectedItem();
+    if ( !item )
+        return;
 
+    const QString iconName = KIconDialog::getIcon( /* repeating default arguments \
begin */ +                                                  KIconLoader::Desktop, \
KIconLoader::Application, false, 0, false, +                                          \
/* repeating default arguments end */ +                                               \
q ); +    if ( iconName.isEmpty() )
+        return;
+
+    item->setIcon( KIcon( iconName ) );
+    item->setData( IconNameRole, iconName );
+}
+
 void AppearanceConfigWidget::Private::slotForegroundClicked() {
     QListWidgetItem * const item = selectedItem();
     if ( !item )
--- trunk/KDE/kdepim/kleopatra/conf/appearanceconfigwidget.h #778145:778146
@@ -56,6 +56,7 @@
     private:
         class Private;
         Private * d;
+        Q_PRIVATE_SLOT( d, void slotIconClicked() )
         Q_PRIVATE_SLOT( d, void slotForegroundClicked() )
         Q_PRIVATE_SLOT( d, void slotBackgroundClicked() )
         Q_PRIVATE_SLOT( d, void slotFontClicked() )
--- trunk/KDE/kdepim/kleopatra/conf/appearanceconfigwidget.ui #778145:778146
@@ -34,6 +34,16 @@
       <item>
         <layout class="QVBoxLayout" >
           <item>
+            <widget class="QPushButton" name="iconButton" >
+              <property name="enabled" >
+                <bool>false</bool>
+              </property>
+              <property name="text" >
+                <string>Set &amp;Icon...</string>
+              </property>
+            </widget>
+          </item>
+          <item>
             <widget class="QPushButton" name="foregroundButton" >
               <property name="enabled" >
                 <bool>false</bool>


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

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