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

List:       kde-commits
Subject:    [Konversation] e080774: Applied a patch by Christian Mühlhäuser to right
From:       Dario Abatianni <eisfuchs () tigress ! com>
Date:       2010-07-01 13:26:50
Message-ID: 20100701132650.445FCBB545E () projects ! kde ! org
[Download RAW message or body]

commit e08077431f64f2eea0b410b818a6c914c3561dba
Author: Dario Abatianni <eisfuchs@tigress.com>
Date:   Thu Sep 25 15:40:50 2003 +0000

    Applied a patch by Christian Mühlhäuser to right-align close widgets
    
    svn path=/trunk/kdeextragear-2/konversation/; revision=253885

diff --git a/konversation/konversationapplication.cpp \
b/konversation/konversationapplication.cpp index 1bd6bac..594eb8e 100644
--- a/konversation/konversationapplication.cpp
+++ b/konversation/konversationapplication.cpp
@@ -276,6 +276,7 @@ void KonversationApplication::readOptions()
   preferences.setShowQuickButtons(config->readBoolEntry("ShowQuickButtons",preferences.getShowQuickButtons()));
  preferences.setShowModeButtons(config->readBoolEntry("ShowModeButtons",preferences.getShowModeButtons()));
  preferences.setCloseButtonsOnTabs(config->readBoolEntry("CloseButtonsOnTabs",preferences.getCloseButtonsOnTabs()));
 +  preferences.setCloseButtonsAlignRight(config->readBoolEntry("CloseButtonsAlignRight",preferences.getCloseButtonsAlignRight()));
  
   preferences.setAutoUserhost(config->readBoolEntry("AutoUserhost",preferences.getAutoUserhost()));
  
@@ -524,6 +525,7 @@ void KonversationApplication::saveOptions(bool updateGUI)
   config->writeEntry("ShowQuickButtons",preferences.getShowQuickButtons());
   config->writeEntry("ShowModeButtons",preferences.getShowModeButtons());
   config->writeEntry("CloseButtonsOnTabs",preferences.getCloseButtonsOnTabs());
+  config->writeEntry("CloseButtonsAlignRight",preferences.getCloseButtonsAlignRight());
  
   config->writeEntry("AutoUserhost",preferences.getAutoUserhost());
 
@@ -779,7 +781,7 @@ bool KonversationApplication::emitDCOPSig(const QString &appId, \
const QString &o  QByteArray replyData;
   QCString replyType;
   if (!KApplication::dcopClient()->call(appId.ascii(), objId.ascii(), signal.ascii() \
                /*must have prototype*/,
-					data, replyType, replyData)) {
+                                        data, replyType, replyData)) {
     qDebug("there was some error using DCOP.");
     return true; // Keep processing filters
   } else {
diff --git a/konversation/ledtabbar.cpp b/konversation/ledtabbar.cpp
index 4f4fd73..9edf381 100644
--- a/konversation/ledtabbar.cpp
+++ b/konversation/ledtabbar.cpp
@@ -151,6 +151,7 @@ void LedTabBar::paint( QPainter * p, QTab * t, bool selected ) \
const  fw += t->text().contains("&&") * fm.width('&');
     int w = iw + fw + 4;
     int h = QMAX(fm.height() + 4, ih );
+
     paintLabel( p, QRect( r.left() + (r.width()-w)/2 - 3,
                           r.top() + (r.height()-h)/2,
                           w, h ), t, t->identifier() == keyboardFocusTab() );
@@ -184,16 +185,37 @@ void LedTabBar::paintLabel( QPainter* p, const QRect& br, QTab* \
tab, bool has_fo  // do we want close widgets on the tabs?
       if(KonversationApplication::preferences.getCloseButtonsOnTabs())
       {
-        r.setLeft( r.left() + LABEL_OFFSET);
-        r.setRight( r.right() + LABEL_OFFSET);
-        // ### the pixmap shift should probably not be hardcoded..
-        p->drawPixmap( br.left() + 6 + LABEL_OFFSET /* + ((selected == TRUE) ? 0 : \
                1) */,
-                       br.center().y()-pixh/2 + ((selected == TRUE) ? 0 : 1),
-                       pixmap );
-
-        p->drawPixmap( br.left(),
-                       br.center().y()-close_pixh/2,
-                       close_pixmap );
+        if (!KonversationApplication::preferences.getCloseButtonsAlignRight())
+        {
+          // Shift the text to the right
+          r.setLeft( r.left() + LABEL_OFFSET);
+          r.setRight( r.right() + LABEL_OFFSET);
+
+          // Draw iconset on the left side
+          p->drawPixmap( br.left() + 6 + LABEL_OFFSET /* + ((selected == TRUE) ? 0 : \
1) */, +                         br.center().y()-pixh/2 + ((selected == TRUE) ? 0 : \
1), +                         pixmap );
+
+          // Draw close button on the left side
+          p->drawPixmap( br.left(),
+                         br.center().y() - close_pixh/2,
+                         close_pixmap );
+        }
+        else
+        {
+          // Shift the text to the left
+          r.setLeft( r.left() - 6);
+
+          // Draw iconset on the left side
+          p->drawPixmap( br.left() + 2,
+                         br.center().y()-pixh/2 + ((selected == TRUE) ? 0 : 1),
+                         pixmap );
+
+          // Draw close button on the right side
+          p->drawPixmap( br.right() - 7,
+                         br.center().y() - close_pixh/2,
+                         close_pixmap );
+        }
       }
       else
       {
@@ -243,6 +265,7 @@ void LedTabBar::layoutTabs()
       QTab* ltab=tabAt(index);
       QRect r=ltab->rect();
       r.setWidth(r.width()+LABEL_OFFSET);
+
       r.moveBy(offset,0);
       offset+=LABEL_OFFSET;
 
@@ -262,11 +285,16 @@ void LedTabBar::mouseReleaseEvent(QMouseEvent* e)
 
       // get physical position of QTab* t
       QRect target(t->rect());
+
+      // move target area to aprop. place
+      if(KonversationApplication::preferences.getCloseButtonsAlignRight())
+        target.moveBy(target.width() - 20,4);
+      else
+        target.moveBy(8,4);
+
       // set size of target area
       target.setWidth(16);
       target.setHeight(16);
-      // move target area to final place
-      target.moveBy(8,4);
 
       if(target.contains(e->pos())) emit closeTab(t->identifier());
     }
diff --git a/konversation/main.cpp b/konversation/main.cpp
index 9a0b093..bd0ca2f 100644
--- a/konversation/main.cpp
+++ b/konversation/main.cpp
@@ -52,6 +52,7 @@ int main(int argc, char* argv[])
   aboutData.addAuthor("Stanislav \
Karchebny",I18N_NOOP("Non-Latin1-Encodings"),"berkus@users.sourceforge.net");  \
aboutData.addAuthor("Mickael Marchand",I18N_NOOP("Konsole part \
view"),"marchand@kde.org");  aboutData.addAuthor("Peter Simonsson",I18N_NOOP("Color \
picker, IRC color preferences, KNotify events"),"psn@linux.se"); +  \
aboutData.addAuthor("Christian Mühlhäuser",I18N_NOOP("Multiple modes extension, Close \
widget placement"),"chris@chris.de>");  
   aboutData.addCredit("Frauke Oster",I18N_NOOP("System tray \
patch"),"frauke@frsv.de");  aboutData.addCredit("Lucijan Busch",I18N_NOOP("Bug \
                fixes"),"lucijan@kde.org");
diff --git a/konversation/preferences.cpp b/konversation/preferences.cpp
index 6293583..5001281 100644
--- a/konversation/preferences.cpp
+++ b/konversation/preferences.cpp
@@ -112,6 +112,7 @@ Preferences::Preferences()
   setTabPlacement(Bottom);
   setBlinkingTabs(true);
   setCloseButtonsOnTabs(true);
+  setCloseButtonsAlignRight(false);
   setBringToFront(true);
 
   setNotifyDelay(20);
@@ -411,6 +412,9 @@ bool Preferences::getBlinkingTabs() { return blinkingTabs; }
 void Preferences::setCloseButtonsOnTabs(bool state) { closeButtonsOnTabs=state; }
 bool Preferences::getCloseButtonsOnTabs() { return closeButtonsOnTabs; }
 
+void Preferences::setCloseButtonsAlignRight(bool state) { \
closeButtonsAlignRight=state; } +bool Preferences::getCloseButtonsAlignRight() { \
return closeButtonsAlignRight; } +
 void Preferences::setBringToFront(bool state) { bringToFront=state; }
 bool Preferences::getBringToFront() { return bringToFront; }
 
diff --git a/konversation/preferences.h b/konversation/preferences.h
index b068e51..6f74fd1 100644
--- a/konversation/preferences.h
+++ b/konversation/preferences.h
@@ -124,6 +124,8 @@ class Preferences : public QObject
     bool getBringToFront();
     void setCloseButtonsOnTabs(bool state);
     bool getCloseButtonsOnTabs();
+    void setCloseButtonsAlignRight(bool state);
+    bool getCloseButtonsAlignRight();
 
     // sorting stuff
     bool getSortByStatus();
@@ -318,10 +320,11 @@ class Preferences : public QObject
     bool logFollowsNick;
     QString logPath;
 
-    TabPlacement tabPlacement; // where do the tabs go?
-    bool blinkingTabs;         // Do we want the LEDs on the tabs to blink?
-    bool closeButtonsOnTabs;   // Do we want close widgets on the tabs?
-    bool bringToFront;         // Do we want to see newly created tabs immediately?
+    TabPlacement tabPlacement;   // where do the tabs go?
+    bool blinkingTabs;           // Do we want the LEDs on the tabs to blink?
+    bool closeButtonsOnTabs;     // Do we want close widgets on the tabs?
+    bool closeButtonsAlignRight; // Display close widgets on the right side?
+    bool bringToFront;           // Do we want to see newly created tabs \
immediately?  
     bool fixedMOTD;
     bool beep;
diff --git a/konversation/prefspageappearance.cpp \
b/konversation/prefspageappearance.cpp index cd77e5e..046a802 100644
--- a/konversation/prefspageappearance.cpp
+++ b/konversation/prefspageappearance.cpp
@@ -134,6 +134,13 @@ PrefsPageAppearance::PrefsPageAppearance(QFrame* \
newParent,Preferences* newPrefe  closeButtonsCheck=new QCheckBox(i18n("Show close \
widgets on tabs"),parentFrame,"tab_close_widgets_check");  \
closeButtonsCheck->setChecked(preferences->getCloseButtonsOnTabs());  
+  // Take care of ghosting / unghosting close button checkboxes
+  closeButtonsChanged(preferences->getCloseButtonsOnTabs() ? 2 : 0);
+
+  // Display close buttons on which side
+  closeButtonsAlignRight=new QCheckBox(i18n("Place close widgets on the right \
side"),parentFrame,"tab_close_widgets_align_right"); +  \
closeButtonsAlignRight->setChecked(preferences->getCloseButtonsAlignRight()); +
   // Sorting
   QVGroupBox* sortOptionsGroup=new QVGroupBox(i18n("Sort \
Options"),parentFrame,"sort_options_group");  sortOrderGroup=new \
QHGroupBox(i18n("Sorting Order"),parentFrame,"sort_order_group"); @@ -193,6 +200,8 @@ \
PrefsPageAppearance::PrefsPageAppearance(QFrame* newParent,Preferences* newPrefe  \
row++;  appearanceLayout->addMultiCellWidget(closeButtonsCheck,row,row,0,2);
   row++;
+  appearanceLayout->addMultiCellWidget(closeButtonsAlignRight,row,row,0,2);
+  row++;
   appearanceLayout->addWidget(sortOptionsGroup,row,0);
   appearanceLayout->addMultiCellWidget(sortOrderGroup,row,row,1,2);
   row++;
@@ -211,6 +220,8 @@ PrefsPageAppearance::PrefsPageAppearance(QFrame* \
newParent,Preferences* newPrefe  
   connect(useParagraphSpacingCheck,SIGNAL (stateChanged(int)),this,SLOT \
(useParagraphSpacingChanged(int)) );  
+  connect(closeButtonsCheck,SIGNAL (stateChanged(int)),this,SLOT \
(closeButtonsChanged(int)) ); +
   connect(sortByStatusCheck,SIGNAL (stateChanged(int)),this,SLOT \
(sortByStatusChanged(int)) );  
   connect(sortMoveUp,SIGNAL (clicked()),this,SLOT (moveUp()) );
@@ -264,6 +275,12 @@ void PrefsPageAppearance::useParagraphSpacingChanged(int state)
   paragraphSpacingSpin->setEnabled(state==2);
 }
 
+void PrefsPageAppearance::closeButtonsChanged(int state)
+{
+  closeButtonsCheck->setChecked(state);
+  closeButtonsAlignRight->setEnabled(state==2);
+}
+
 void PrefsPageAppearance::sortByStatusChanged(int state)
 {
   sortOrderGroup->setEnabled(state==2);
@@ -304,6 +321,7 @@ void PrefsPageAppearance::applyPreferences()
   preferences->setMargin(marginSpin->value());
   preferences->setUseParagraphSpacing(useParagraphSpacingCheck->isChecked());
   preferences->setParagraphSpacing(paragraphSpacingSpin->value());
+  preferences->setCloseButtonsAlignRight(closeButtonsAlignRight->isChecked());
   preferences->setSortByStatus(sortByStatusCheck->isChecked());
   preferences->setSortCaseInsensitive(sortCaseInsensitiveCheck->isChecked());
 
diff --git a/konversation/prefspageappearance.h b/konversation/prefspageappearance.h
index a2c8ef4..d698d0d 100644
--- a/konversation/prefspageappearance.h
+++ b/konversation/prefspageappearance.h
@@ -52,6 +52,8 @@ class PrefsPageAppearance : public PrefsPage
 
     void useParagraphSpacingChanged(int state);
 
+    void closeButtonsChanged(int state);
+
     void sortByStatusChanged(int state);
 
     void moveUp();
@@ -77,6 +79,7 @@ class PrefsPageAppearance : public PrefsPage
 
     QCheckBox* autoUserhostCheck;
     QCheckBox* closeButtonsCheck;
+    QCheckBox* closeButtonsAlignRight;
     QCheckBox* useSpacingCheck;
 
     QLabel* spacingLabel;
diff --git a/konversation/server.cpp b/konversation/server.cpp
index 314ac66..f9f1213 100644
--- a/konversation/server.cpp
+++ b/konversation/server.cpp
@@ -524,10 +524,9 @@ void Server::queue(const QString& buffer)
 void Server::queueList(const QStringList& buffer)
 {
   // Only queue lines if we are connected
-  const QStringList it;
   if(isConnected() && buffer.count())
   {
-    for (int i=0;i<buffer.count();i++)
+    for (unsigned int i=0;i<buffer.count();i++)
     {
       if(rawLog) rawLog->appendRaw(*buffer.at(i));
 


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

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