summaryrefslogtreecommitdiffstats
path: root/application/MainWindow.cpp
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2017-09-28 02:47:54 +0200
committerPetr Mrázek <peterix@gmail.com>2017-09-28 02:47:54 +0200
commitea71281629706b4a8187108e4877b440e0e9b4df (patch)
tree6f3591acbbebc479efeff8cbf1ce679dc6f1d8f2 /application/MainWindow.cpp
parentc51512f94036b7d13b98cb02b8e8c1e549e7b448 (diff)
downloadMultiMC-ea71281629706b4a8187108e4877b440e0e9b4df.tar
MultiMC-ea71281629706b4a8187108e4877b440e0e9b4df.tar.gz
MultiMC-ea71281629706b4a8187108e4877b440e0e9b4df.tar.lz
MultiMC-ea71281629706b4a8187108e4877b440e0e9b4df.tar.xz
MultiMC-ea71281629706b4a8187108e4877b440e0e9b4df.zip
NOISSUE fix aspect ratio issues with the instance icon in the instance toolbar
Diffstat (limited to 'application/MainWindow.cpp')
-rw-r--r--application/MainWindow.cpp45
1 files changed, 28 insertions, 17 deletions
diff --git a/application/MainWindow.cpp b/application/MainWindow.cpp
index a6732cb0..70b88627 100644
--- a/application/MainWindow.cpp
+++ b/application/MainWindow.cpp
@@ -261,8 +261,7 @@ public:
instanceToolBar->setObjectName(QStringLiteral("instanceToolBar"));
instanceToolBar->setEnabled(true);
instanceToolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);
- instanceToolBar->setIconSize(QSize(80, 80));
- instanceToolBar->setToolButtonStyle(Qt::ToolButtonIconOnly);
+ instanceToolBar->setToolButtonStyle(Qt::ToolButtonTextOnly);
instanceToolBar->setFloatable(false);
MainWindow->addToolBar(Qt::RightToolBarArea, instanceToolBar);
newsToolBar = new QToolBar(MainWindow);
@@ -275,7 +274,6 @@ public:
MainWindow->addToolBar(Qt::BottomToolBarArea, newsToolBar);
mainToolBar->addAction(actionAddInstance);
- mainToolBar->addAction(actionCopyInstance);
mainToolBar->addSeparator();
mainToolBar->addAction(actionViewInstanceFolder);
mainToolBar->addAction(actionViewCentralModsFolder);
@@ -294,7 +292,6 @@ public:
mainToolBar->addAction(actionREDDIT);
mainToolBar->addAction(actionDISCORD);
mainToolBar->addAction(actionCAT);
- instanceToolBar->addAction(actionChangeInstIcon);
instanceToolBar->addAction(actionLaunchInstance);
instanceToolBar->addAction(actionLaunchInstanceOffline);
instanceToolBar->addSeparator();
@@ -310,6 +307,7 @@ public:
instanceToolBar->addSeparator();
instanceToolBar->addAction(actionExportInstance);
instanceToolBar->addAction(actionDeleteInstance);
+ instanceToolBar->addAction(actionCopyInstance);
newsToolBar->addAction(actionMoreNews);
retranslateUi(MainWindow);
@@ -411,6 +409,13 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new MainWindow
// disabled until we have an instance selected
ui->instanceToolBar->setEnabled(false);
+ changeIconButton = new LabeledToolButton();
+ changeIconButton->setIcon(MMC->getThemedIcon("news"));
+ changeIconButton->setToolTip(ui->actionChangeInstIcon->toolTip());
+ connect(changeIconButton, SIGNAL(clicked(bool)), SLOT(on_actionChangeInstIcon_triggered()));
+ ui->instanceToolBar->insertWidget(ui->actionLaunchInstance, changeIconButton);
+ changeIconButton->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
+
// the rename label is inside the rename tool button
renameButton = new LabeledToolButton();
renameButton->setText("Instance Name");
@@ -615,22 +620,23 @@ void MainWindow::showInstanceContextMenu(const QPoint &pos)
{
actions = ui->instanceToolBar->actions();
- QAction *actionVoid = new QAction(m_selectedInstance->name(), this);
- actionVoid->setEnabled(false);
+ // replace the change icon widget with an actual action
+ QAction *actionChangeIcon = new QAction(tr("Change Icon"), this);
+ actionChangeIcon->setToolTip(ui->actionRenameInstance->toolTip());
+ connect(actionChangeIcon, SIGNAL(triggered(bool)), SLOT(on_actionChangeInstIcon_triggered()));
+ actions.replace(0, actionChangeIcon);
+ // replace the rename widget with an actual action
QAction *actionRename = new QAction(tr("Rename"), this);
actionRename->setToolTip(ui->actionRenameInstance->toolTip());
-
- QAction *actionCopyInstance = new QAction(tr("Copy instance"), this);
- actionCopyInstance->setToolTip(ui->actionCopyInstance->toolTip());
-
connect(actionRename, SIGNAL(triggered(bool)), SLOT(on_actionRenameInstance_triggered()));
- connect(actionCopyInstance, SIGNAL(triggered(bool)), SLOT(on_actionCopyInstance_triggered()));
-
actions.replace(1, actionRename);
+
+ // add header
actions.prepend(actionSep);
+ QAction *actionVoid = new QAction(m_selectedInstance->name(), this);
+ actionVoid->setEnabled(false);
actions.prepend(actionVoid);
- actions.append(actionCopyInstance);
}
else
{
@@ -1187,8 +1193,9 @@ void MainWindow::on_actionChangeInstIcon_triggered()
if (dlg.result() == QDialog::Accepted)
{
m_selectedInstance->setIconKey(dlg.selectedIconKey);
- auto ico = MMC->icons()->getBigIcon(dlg.selectedIconKey);
- ui->actionChangeInstIcon->setIcon(ico);
+ auto icon = MMC->icons()->getIcon(dlg.selectedIconKey);
+ ui->actionChangeInstIcon->setIcon(icon);
+ changeIconButton->setIcon(icon);
}
}
@@ -1196,14 +1203,18 @@ void MainWindow::iconUpdated(QString icon)
{
if (icon == m_currentInstIcon)
{
- ui->actionChangeInstIcon->setIcon(MMC->icons()->getBigIcon(m_currentInstIcon));
+ auto icon = MMC->icons()->getIcon(m_currentInstIcon);
+ ui->actionChangeInstIcon->setIcon(icon);
+ changeIconButton->setIcon(icon);
}
}
void MainWindow::updateInstanceToolIcon(QString new_icon)
{
m_currentInstIcon = new_icon;
- ui->actionChangeInstIcon->setIcon(MMC->icons()->getBigIcon(m_currentInstIcon));
+ auto icon = MMC->icons()->getIcon(m_currentInstIcon);
+ ui->actionChangeInstIcon->setIcon(icon);
+ changeIconButton->setIcon(icon);
}
void MainWindow::setSelectedInstanceById(const QString &id)