Introduced VerticalDock a derived QDockWidget, which features per default a slick...
authorMarcus Eggenberger <egs@quassel-irc.org>
Sun, 27 Jan 2008 14:33:53 +0000 (14:33 +0000)
committerMarcus Eggenberger <egs@quassel-irc.org>
Sun, 27 Jan 2008 14:33:53 +0000 (14:33 +0000)
src/qtui/mainwin.cpp
src/qtui/qtui.pri
src/qtui/verticaldock.cpp [moved from src/uisupport/verticaldocktitle.cpp with 71% similarity]
src/qtui/verticaldock.h [moved from src/uisupport/verticaldocktitle.h with 86% similarity]
src/uisupport/uisupport.pri

index 9ebcca3..518b2b8 100644 (file)
@@ -33,7 +33,7 @@
 #include "signalproxy.h"
 #include "topicwidget.h"
 #include "inputwidget.h"
 #include "signalproxy.h"
 #include "topicwidget.h"
 #include "inputwidget.h"
-#include "verticaldocktitle.h"
+#include "verticaldock.h"
 #include "uisettings.h"
 
 #include "selectionmodelsynchronizer.h"
 #include "uisettings.h"
 
 #include "selectionmodelsynchronizer.h"
@@ -119,31 +119,18 @@ void MainWin::init() {
     showServerList();
   }
   
     showServerList();
   }
   
+  // DOCK OPTIONS
   setDockNestingEnabled(true);
   setDockNestingEnabled(true);
-  
-  
-  // new Topic Stuff... should be probably refactored out into a separate method
+
   setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea);
   setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea);
 
   setCorner(Qt::TopRightCorner, Qt::RightDockWidgetArea);
   setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea);
 
   setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea);
   setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea);
 
   setCorner(Qt::TopRightCorner, Qt::RightDockWidgetArea);
   setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea);
 
-
-  QDockWidget *topicDock = new QDockWidget(tr("Topic"), this);
+  // new Topic Stuff... should be probably refactored out into a separate method
+  VerticalDock *topicDock = new VerticalDock(tr("Topic"), this);
   topicDock->setObjectName("TopicDock");
   topicDock->setObjectName("TopicDock");
-  topicDock->setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea);
-
-  QWidget *oldDockTitle = topicDock->titleBarWidget();
-
-  QWidget *newDockTitle = new VerticalDockTitle(topicDock);
-  topicDock->setFeatures(topicDock->features() | QDockWidget::DockWidgetVerticalTitleBar);
-  topicDock->setTitleBarWidget(newDockTitle);
-  
-  if(oldDockTitle)
-    oldDockTitle->deleteLater();
-  
-
   TopicWidget *topicwidget = new TopicWidget(topicDock);
   topicDock->setWidget(topicwidget);
 
   TopicWidget *topicwidget = new TopicWidget(topicDock);
   topicDock->setWidget(topicwidget);
 
@@ -154,25 +141,14 @@ void MainWin::init() {
   ui.menuViews->addAction(topicDock->toggleViewAction());
 
   // NEW INPUT WIDGET -- damn init() needs a cleanup
   ui.menuViews->addAction(topicDock->toggleViewAction());
 
   // NEW INPUT WIDGET -- damn init() needs a cleanup
-  QDockWidget *inputDock = new QDockWidget(tr("Inputline"), this);
+  VerticalDock *inputDock = new VerticalDock(tr("Inputline"), this);
   inputDock->setObjectName("InputDock");
   inputDock->setObjectName("InputDock");
-  inputDock->setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea);
-
-  oldDockTitle = inputDock->titleBarWidget();
-  newDockTitle = new VerticalDockTitle(inputDock);
-  
-  inputDock->setFeatures(inputDock->features() | QDockWidget::DockWidgetVerticalTitleBar);
-  inputDock->setTitleBarWidget(newDockTitle);
-  
-  if(oldDockTitle)
-    oldDockTitle->deleteLater();
-  
   InputWidget *inputWidget = new InputWidget(inputDock);
   inputDock->setWidget(inputWidget);
 
   addDockWidget(Qt::BottomDockWidgetArea, inputDock);
   InputWidget *inputWidget = new InputWidget(inputDock);
   inputDock->setWidget(inputWidget);
 
   addDockWidget(Qt::BottomDockWidgetArea, inputDock);
-  ui.menuViews->addAction(inputDock->toggleViewAction());
 
 
+  ui.menuViews->addAction(inputDock->toggleViewAction());
 
   inputWidget->setModel(Client::bufferModel());
   inputWidget->setSelectionModel(Client::bufferModel()->standardSelectionModel());
 
   inputWidget->setModel(Client::bufferModel());
   inputWidget->setSelectionModel(Client::bufferModel()->standardSelectionModel());
index 9497b5a..ba6182a 100644 (file)
@@ -4,11 +4,11 @@ QT_MOD = core gui network
 SRCS += bufferwidget.cpp chatline-old.cpp \
         chatwidget.cpp coreconnectdlg.cpp configwizard.cpp \
         guisettings.cpp identities.cpp mainwin.cpp nicklistwidget.cpp qtui.cpp qtuistyle.cpp serverlist.cpp settingsdlg.cpp \
 SRCS += bufferwidget.cpp chatline-old.cpp \
         chatwidget.cpp coreconnectdlg.cpp configwizard.cpp \
         guisettings.cpp identities.cpp mainwin.cpp nicklistwidget.cpp qtui.cpp qtuistyle.cpp serverlist.cpp settingsdlg.cpp \
-        topicwidget.cpp debugconsole.cpp inputwidget.cpp
+        topicwidget.cpp debugconsole.cpp inputwidget.cpp verticaldock.cpp
 
 HDRS += bufferwidget.h chatline-old.h chatwidget.h configwizard.h \
         coreconnectdlg.h guisettings.h identities.h mainwin.h nicklistwidget.h qtui.h qtuistyle.h serverlist.h settingsdlg.h \
 
 HDRS += bufferwidget.h chatline-old.h chatwidget.h configwizard.h \
         coreconnectdlg.h guisettings.h identities.h mainwin.h nicklistwidget.h qtui.h qtuistyle.h serverlist.h settingsdlg.h \
-        topicwidget.h debugconsole.h inputwidget.h
+        topicwidget.h debugconsole.h inputwidget.h verticaldock.h
 
 FORMNAMES = identitiesdlg.ui identitieseditdlg.ui networkeditdlg.ui mainwin.ui nickeditdlg.ui serverlistdlg.ui \
             servereditdlg.ui coreaccounteditdlg.ui coreconnectdlg.ui bufferviewwidget.ui bufferwidget.ui nicklistwidget.ui settingsdlg.ui \
 
 FORMNAMES = identitiesdlg.ui identitieseditdlg.ui networkeditdlg.ui mainwin.ui nickeditdlg.ui serverlistdlg.ui \
             servereditdlg.ui coreaccounteditdlg.ui coreconnectdlg.ui bufferviewwidget.ui bufferwidget.ui nicklistwidget.ui settingsdlg.ui \
similarity index 71%
rename from src/uisupport/verticaldocktitle.cpp
rename to src/qtui/verticaldock.cpp
index acb0a11..28ebe68 100644 (file)
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
 
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
 
-#include "verticaldocktitle.h"
-#include <QDockWidget>
+#include "verticaldock.h"
+
 #include <QPainter>
 #include <QPainter>
-#include <QStyleOption>
 
 #include <QDebug>
 
 
 #include <QDebug>
 
@@ -34,11 +33,11 @@ VerticalDockTitle::~VerticalDockTitle() {
 }
 
 QSize VerticalDockTitle::sizeHint() const {
 }
 
 QSize VerticalDockTitle::sizeHint() const {
-  return QSize(10, 20);
+  return QSize(10, 15);
 }
 
 QSize VerticalDockTitle::minimumSizeHint() const {
 }
 
 QSize VerticalDockTitle::minimumSizeHint() const {
-  return QSize(10, 20);
+  return QSize(10, 15);
 }
 
 void VerticalDockTitle::paintEvent(QPaintEvent *event) {
 }
 
 void VerticalDockTitle::paintEvent(QPaintEvent *event) {
@@ -55,3 +54,34 @@ void VerticalDockTitle::paintEvent(QPaintEvent *event) {
   }
   
 }
   }
   
 }
+
+
+// ==============================
+//  Vertical Dock
+// ==============================
+VerticalDock::VerticalDock(const QString &title, QWidget *parent, Qt::WindowFlags flags)
+  : QDockWidget(title, parent, flags)
+{
+  setDefaultTitleWidget();
+}
+
+VerticalDock::VerticalDock(QWidget *parent, Qt::WindowFlags flags)
+  : QDockWidget(parent, flags)
+{
+  setDefaultTitleWidget();
+}
+
+VerticalDock::~VerticalDock() {
+}
+
+void VerticalDock::setDefaultTitleWidget() {
+  QWidget *oldDockTitle = titleBarWidget();
+  QWidget *newDockTitle = new VerticalDockTitle(this);
+
+  setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea);
+  setFeatures(features() | QDockWidget::DockWidgetVerticalTitleBar);
+  setTitleBarWidget(newDockTitle);
+  
+  if(oldDockTitle)
+    oldDockTitle->deleteLater();
+}
similarity index 86%
rename from src/uisupport/verticaldocktitle.h
rename to src/qtui/verticaldock.h
index 4afb2d2..33e684e 100644 (file)
 #ifndef VERTICALDOCKTITLE_H
 #define VERTICALDOCKTITLE_H
 
 #ifndef VERTICALDOCKTITLE_H
 #define VERTICALDOCKTITLE_H
 
-#include <QWidget>
+#include <QDockWidget>
 #include <QSize>
 
 #include <QSize>
 
-class QDockWidget;
-
 class VerticalDockTitle : public QWidget {
   Q_OBJECT
 
 class VerticalDockTitle : public QWidget {
   Q_OBJECT
 
@@ -40,6 +38,17 @@ protected:
   virtual void paintEvent(QPaintEvent *event);
 };
 
   virtual void paintEvent(QPaintEvent *event);
 };
 
+class VerticalDock : public QDockWidget {
+  Q_OBJECT
+
+public:
+  VerticalDock(const QString &title, QWidget *parent = 0, Qt::WindowFlags flags = 0);
+  VerticalDock(QWidget *parent = 0, Qt::WindowFlags flags = 0);
+  virtual ~VerticalDock();
+
+  void setDefaultTitleWidget();
+};
+
 
 #endif // VERTICALDOCKTITLE_H
   
 
 #endif // VERTICALDOCKTITLE_H
   
index 970d6b9..f7f0e89 100644 (file)
@@ -1,8 +1,8 @@
 DEPMOD = common client
 QT_MOD = core gui network
 
 DEPMOD = common client
 QT_MOD = core gui network
 
-SRCS += bufferview.cpp bufferviewfilter.cpp inputline.cpp nickview.cpp settingspage.cpp tabcompleter.cpp uisettings.cpp uistyle.cpp uistylesettings.cpp verticaldocktitle.cpp
-HDRS += bufferview.h bufferviewfilter.h inputline.h nickview.h settingspage.h tabcompleter.h uisettings.h uistyle.h uistylesettings.h verticaldocktitle.h
+SRCS += bufferview.cpp bufferviewfilter.cpp inputline.cpp nickview.cpp settingspage.cpp tabcompleter.cpp uisettings.cpp uistyle.cpp uistylesettings.cpp
+HDRS += bufferview.h bufferviewfilter.h inputline.h nickview.h settingspage.h tabcompleter.h uisettings.h uistyle.h uistylesettings.h
 
 FORMNAMES = 
 
 
 FORMNAMES =