summaryrefslogtreecommitdiff
path: root/src/mainwindow.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainwindow.cc')
-rw-r--r--src/mainwindow.cc109
1 files changed, 64 insertions, 45 deletions
diff --git a/src/mainwindow.cc b/src/mainwindow.cc
index 30680de..1e988bf 100644
--- a/src/mainwindow.cc
+++ b/src/mainwindow.cc
@@ -36,6 +36,7 @@
#include <QPainter>
#include <QVBoxLayout>
#include <QLineEdit>
+#include <QAction>
#include "database.h"
#include "viewer.h"
@@ -43,53 +44,71 @@
MainWindow::MainWindow(Database& db)
: db(db)
{
- //connect(document, SIGNAL(documentStatusChanged(bool)), this, SLOT(updateDocumentStatus(bool)));
- //updateDocumentStatus(document->hasChanged());
-
setWindowTitle("Qookie");
- //
- // Create the toolbar
- //
- QToolBar *toolbar = new QToolBar("A toolbar");
- /*
- QAction *act_load = toolbar->addAction("Load");
- // connect(act_load, SIGNAL(triggered()), &document, SLOT(load()));
-
- QAction *act_save = toolbar->addAction("Save");
- // connect(act_save, SIGNAL(triggered()), &document, SLOT(save()));
- */
- //
- // Create the browser docking widget
- //
- QDockWidget *browser = new QDockWidget("Browser");
- auto w = new QWidget();
- auto layout = new QVBoxLayout();
- w->setLayout(layout);
-
- auto e = new QLineEdit();
- layout->addWidget(e);
- connect(e, &QLineEdit::textChanged, this, &MainWindow::filterChanged);
-
- listWidget = new QListWidget(this);
- listWidget->setIconSize({64, 64});
- layout->addWidget(listWidget);
-
- browser->setWidget(w);
-
- //
- // Create the viewer
- //
- viewer = new Viewer();
- setCentralWidget(viewer);
-
- addToolBar(Qt::TopToolBarArea, toolbar);
- addDockWidget(Qt::LeftDockWidgetArea, browser);
-
- QObject::connect(listWidget, &QListWidget::currentRowChanged,
- this, &MainWindow::itemChanged);
-
- listWidget->setSortingEnabled(true);
+ //client.connectToHost("127.0.0.1");
+ client.connectToHost("nanny");
+
+ {
+ auto toolbar = new QToolBar();
+
+ {
+ auto act = toolbar->addAction("New Scratch Pad");
+ connect(act, &QAction::triggered,
+ [&]()
+ {
+ viewer->scratchPad();
+ });
+ }
+
+ {
+ auto spacer = new QWidget();
+ spacer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
+ toolbar->addWidget(spacer);
+ }
+
+ {
+ auto act = toolbar->addAction("🍪ookie-Cast");
+ connect(act, &QAction::triggered,
+ [&]()
+ {
+ const auto& title = viewer->getTitle();
+ const auto& html = viewer->getHtml();
+ client.writeData(title, html.toUtf8());
+ });
+ }
+
+ addToolBar(Qt::TopToolBarArea, toolbar);
+ }
+
+ {
+ auto browser = new QDockWidget("Recipes");
+ browser->setFeatures(QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetFloatable);
+ auto w = new QWidget();
+ auto layout = new QVBoxLayout();
+ w->setLayout(layout);
+
+ auto e = new QLineEdit();
+ layout->addWidget(e);
+ connect(e, &QLineEdit::textChanged, this, &MainWindow::filterChanged);
+
+ listWidget = new QListWidget(this);
+ listWidget->setIconSize({64, 64});
+ QObject::connect(listWidget, &QListWidget::currentRowChanged,
+ this, &MainWindow::itemChanged);
+ listWidget->setSortingEnabled(true);
+ layout->addWidget(listWidget);
+
+ browser->setWidget(w);
+
+ addDockWidget(Qt::LeftDockWidgetArea, browser);
+ }
+
+ {
+ viewer = new Viewer();
+ setCentralWidget(viewer);
+ }
+
readDatabase();
}