mirror of
https://github.com/Lurkki14/tuxclocker.git
synced 2025-02-25 18:55:24 -06:00
change toolbar buttons to QAction
This commit is contained in:
parent
6937f8870e
commit
cf8ede3a50
@ -15,14 +15,38 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) {
|
||||
m_mainToolBar->setFloatable(true);
|
||||
m_mainLayout->addWidget(m_mainToolBar);
|
||||
|
||||
// Add toolbar buttons
|
||||
QToolButton *settingsButton = new QToolButton;
|
||||
settingsButton->setCheckable(true);
|
||||
settingsButton->setIcon(QIcon::fromTheme("configure"));
|
||||
m_mainToolBar->addWidget(settingsButton);
|
||||
m_mainStackedWidget = new QStackedWidget;
|
||||
|
||||
AssignableWidget *assignableWidget = new AssignableWidget;
|
||||
m_mainLayout->addWidget(assignableWidget);
|
||||
m_assignableWidget = new AssignableWidget;
|
||||
m_mainStackedWidget->addWidget(m_assignableWidget);
|
||||
|
||||
m_settingWidget = new QWidget;
|
||||
m_mainStackedWidget->addWidget(m_settingWidget);
|
||||
|
||||
m_mainLayout->addWidget(m_mainStackedWidget);
|
||||
|
||||
// Add toolbar buttons
|
||||
|
||||
// Connect tool buttons to changing the active stacked widget
|
||||
QAction *activateSettings = new QAction;
|
||||
activateSettings->setCheckable(true);
|
||||
activateSettings->setIcon(QIcon::fromTheme("configure"));
|
||||
m_mainToolBar->addAction(activateSettings);
|
||||
|
||||
QAction *activateEditor = new QAction;
|
||||
activateEditor->setCheckable(true);
|
||||
activateEditor->setIcon(QIcon::fromTheme("edit-entry"));
|
||||
m_mainToolBar->addAction(activateEditor);
|
||||
|
||||
connect(activateSettings, &QAction::triggered, [=]() {
|
||||
changeActiveWidget(m_settingWidget, activateSettings);
|
||||
});
|
||||
|
||||
/*connect(settingsButton, &QToolButton::toggled, [=](bool toggled) {
|
||||
if (toggled) {
|
||||
m_mainStackedWidget->setCurrentWidget(m_settingWidget);
|
||||
}
|
||||
});*/
|
||||
|
||||
m_mainWidget->setLayout(m_mainLayout);
|
||||
setCentralWidget(m_mainWidget);
|
||||
@ -30,3 +54,12 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) {
|
||||
|
||||
MainWindow::~MainWindow() {
|
||||
}
|
||||
|
||||
void MainWindow::changeActiveWidget(QWidget *widget, const QAction *action) {
|
||||
|
||||
// Replace this with list of actions that change widgets
|
||||
for (QAction *i_actions : m_mainToolBar->actions()) {
|
||||
|
||||
}
|
||||
m_mainStackedWidget->setCurrentWidget(widget);
|
||||
}
|
||||
|
@ -1,10 +1,13 @@
|
||||
#pragma once
|
||||
|
||||
#include <AssignableWidget.h>
|
||||
|
||||
#include <QMainWindow>
|
||||
#include <QLayout>
|
||||
#include <QToolBar>
|
||||
#include <QToolButton>
|
||||
#include <QStackedWidget>
|
||||
#include <QMap>
|
||||
|
||||
namespace Ui {
|
||||
class MainWindow;
|
||||
@ -20,9 +23,18 @@ private:
|
||||
QGridLayout *m_mainLayout;
|
||||
QStatusBar *m_mainStatusBar;
|
||||
QWidget *m_mainWidget;
|
||||
|
||||
QToolBar *m_mainToolBar;
|
||||
|
||||
// Stacked widgets for the main view
|
||||
QStackedWidget *m_mainStackedWidget;
|
||||
QVector <QWidget*> m_mainStackedWidgetWidgets;
|
||||
AssignableWidget *m_assignableWidget;
|
||||
QWidget *m_settingWidget;
|
||||
|
||||
// List of widget switch triggers so we know which ones to uncheck
|
||||
QVector <QAction*> m_widgetSwitchTriggers;
|
||||
// Setup connections
|
||||
void setupConnections();
|
||||
// Change current stacked widget according to the action that was triggered
|
||||
void changeActiveWidget(QWidget *widget, const QAction *action);
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user