* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
-//#define SPUTDEV
-
#include "mainwin.h"
#include "aboutdlg.h"
#include "chatwidget.h"
#include "bufferview.h"
+#include "chatline.h"
#include "chatline-old.h"
#include "client.h"
#include "coreconnectdlg.h"
#include "debugconsole.h"
+#include "global.h"
MainWin::MainWin(QtUi *_gui, QWidget *parent)
: QMainWindow(parent),
void MainWin::init() {
QtUiSettings s;
- resize(s.value("MainWinSize").toSize());
+ if(s.value("MainWinSize").isValid())
+ resize(s.value("MainWinSize").toSize());
+ else
+ resize(QSize(800, 500));
Client::signalProxy()->attachSignal(this, SIGNAL(requestBacklog(BufferInfo, QVariant, QVariant)));
setupMenus();
setupViews();
setupNickWidget();
+ setupTopicWidget();
setupChatMonitor();
setupInputWidget();
- setupTopicWidget();
setupSystray();
disconnectedFromCore(); // Disable menus and stuff
showCoreConnectionDlg(true); // autoconnect if appropriate
- // attach the BufferWidget to the PropertyMapper
+ // attach the BufferWidget to the BufferModel and the default selection
ui.bufferWidget->setModel(Client::bufferModel());
ui.bufferWidget->setSelectionModel(Client::bufferModel()->standardSelectionModel());
-
-#ifdef SPUTDEV
- //showSettingsDlg();
- //showAboutDlg();
- showNetworkDlg();
- exit(1);
-#endif
+
+ if(Global::SPUTDEV) {
+ //showSettingsDlg();
+ //showAboutDlg();
+ //showNetworkDlg();
+ //exit(1);
+ }
}
dock->show();
addDockWidget(Qt::LeftDockWidgetArea, dock);
+
ui.menuViews->addAction(dock->toggleViewAction());
netViews.append(dock);
//Category: General
settingsDlg->registerSettingsPage(new IdentitiesSettingsPage(settingsDlg));
settingsDlg->registerSettingsPage(new NetworksSettingsPage(settingsDlg));
-
-
-#ifdef SPUTDEV
- connect(settingsDlg, SIGNAL(finished(int)), QApplication::instance(), SLOT(quit())); // FIXME
-#endif
}
void MainWin::setupNickWidget() {
nickDock->setWidget(nickListWidget);
addDockWidget(Qt::RightDockWidgetArea, nickDock);
+
ui.menuViews->addAction(nickDock->toggleViewAction());
- Client::bufferModel()->mapProperty(0, NetworkModel::BufferIdRole, nickListWidget, "currentBuffer");
+ // attach the NickListWidget to the BufferModel and the default selection
+ nickListWidget->setModel(Client::bufferModel());
+ nickListWidget->setSelectionModel(Client::bufferModel()->standardSelectionModel());
}
void MainWin::setupChatMonitor() {
return;
chatWidget->init(BufferId(0));
- QList<ChatLine *> lines;
+ QList<ChatLineOld *> lines;
QList<AbstractUiMsg *> msgs = buf->contents();
foreach(AbstractUiMsg *msg, msgs) {
- lines.append(dynamic_cast<ChatLine*>(msg));
+ lines.append(dynamic_cast<ChatLineOld*>(msg));
}
chatWidget->setContents(lines);
connect(buf, SIGNAL(msgAppended(AbstractUiMsg *)), chatWidget, SLOT(appendMsg(AbstractUiMsg *)));
dock->setWidget(topicwidget);
- Client::bufferModel()->mapProperty(1, Qt::DisplayRole, topicwidget, "topic");
+ topicwidget->setModel(Client::bufferModel());
+ topicwidget->setSelectionModel(Client::bufferModel()->standardSelectionModel());
addDockWidget(Qt::TopDockWidgetArea, dock);
if(s.value("UseSystemTrayIcon", QVariant(true)).toBool()) {
systray->show();
}
-
- #ifndef Q_WS_MAC
+
+#ifndef Q_WS_MAC
connect(systray, SIGNAL(activated( QSystemTrayIcon::ActivationReason )),
this, SLOT(systrayActivated( QSystemTrayIcon::ActivationReason )));
- #endif
+#endif
}
//ui.actionNetworkList->setEnabled(false);
ui.bufferWidget->hide();
ui.actionConnectCore->setEnabled(true);
- nickListWidget->reset();
+ // nickListWidget->reset();
statusBar()->showMessage(tr("Not connected to core."));
}
AbstractUiMsg *MainWin::layoutMsg(const Message &msg) {
- return new ChatLine(msg);
+ if(Global::SPUTDEV) return new ChatLine(msg);
+ return new ChatLineOld(msg);
}
void MainWin::showCoreConnectionDlg(bool autoConnect) {