#include "signalproxy.h"
#include "topicwidget.h"
#include "inputwidget.h"
-#include "verticaldocktitle.h"
+#include "verticaldock.h"
#include "uisettings.h"
#include "selectionmodelsynchronizer.h"
showServerList();
}
+ // DOCK OPTIONS
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);
-
- 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->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);
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->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);
- ui.menuViews->addAction(inputDock->toggleViewAction());
+ ui.menuViews->addAction(inputDock->toggleViewAction());
inputWidget->setModel(Client::bufferModel());
inputWidget->setSelectionModel(Client::bufferModel()->standardSelectionModel());
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 \
- 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 \
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
-#include "verticaldocktitle.h"
-#include <QDockWidget>
+#include "verticaldock.h"
+
#include <QPainter>
-#include <QStyleOption>
#include <QDebug>
}
QSize VerticalDockTitle::sizeHint() const {
- return QSize(10, 20);
+ return QSize(10, 15);
}
QSize VerticalDockTitle::minimumSizeHint() const {
- return QSize(10, 20);
+ return QSize(10, 15);
}
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();
+}
#ifndef VERTICALDOCKTITLE_H
#define VERTICALDOCKTITLE_H
-#include <QWidget>
+#include <QDockWidget>
#include <QSize>
-class QDockWidget;
-
class VerticalDockTitle : public QWidget {
Q_OBJECT
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
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 =