Fix a bug when removing all favtools and then add 1 favtool old tools appear, save toolbar position
This commit is contained in:
parent
3207b38f4b
commit
ce2d9f1b67
|
@ -409,7 +409,8 @@ void FavouriteTools::on_btnClearShortcut_clicked()
|
|||
|
||||
void FavouriteTools::on_btnOK_clicked()
|
||||
{
|
||||
for(int i = 1; i <= ui->listTools->rowCount(); i++)
|
||||
int i;
|
||||
for(i = 1; i <= ui->listTools->rowCount(); i++)
|
||||
{
|
||||
BridgeSettingSet("Favourite", QString("Tool%1").arg(i).toUtf8().constData(), ui->listTools->item(i - 1, 0)->text().toUtf8().constData());
|
||||
BridgeSettingSet("Favourite", QString("ToolShortcut%1").arg(i).toUtf8().constData(), ui->listTools->item(i - 1, 1)->text().toUtf8().constData());
|
||||
|
@ -422,12 +423,17 @@ void FavouriteTools::on_btnOK_clicked()
|
|||
BridgeSettingSet("Favourite", "ToolDescription1", "");
|
||||
}
|
||||
else
|
||||
for(int i = ui->listTools->rowCount() + 1; i <= originalToolsCount; i++)
|
||||
{
|
||||
i = ui->listTools->rowCount() + 1;
|
||||
do // Run this at least once to ensure no old tools can be brought to live
|
||||
{
|
||||
BridgeSettingSet("Favourite", QString("Tool%1").arg(i).toUtf8().constData(), "");
|
||||
BridgeSettingSet("Favourite", QString("ToolShortcut%1").arg(i).toUtf8().constData(), "");
|
||||
BridgeSettingSet("Favourite", QString("ToolDescription%1").arg(i).toUtf8().constData(), "");
|
||||
i++;
|
||||
}
|
||||
while(i <= originalToolsCount);
|
||||
}
|
||||
for(int i = 1; i <= ui->listScript->rowCount(); i++)
|
||||
{
|
||||
BridgeSettingSet("Favourite", QString("Script%1").arg(i).toUtf8().constData(), ui->listScript->item(i - 1, 0)->text().toUtf8().constData());
|
||||
|
@ -441,12 +447,17 @@ void FavouriteTools::on_btnOK_clicked()
|
|||
BridgeSettingSet("Favourite", "ScriptDescription1", "");
|
||||
}
|
||||
else
|
||||
for(int i = ui->listScript->rowCount() + 1; i <= originalScriptCount; i++)
|
||||
{
|
||||
i = ui->listScript->rowCount() + 1;
|
||||
do
|
||||
{
|
||||
BridgeSettingSet("Favourite", QString("Script%1").arg(i).toUtf8().constData(), "");
|
||||
BridgeSettingSet("Favourite", QString("ScriptShortcut%1").arg(i).toUtf8().constData(), "");
|
||||
BridgeSettingSet("Favourite", QString("ScriptDescription%1").arg(i).toUtf8().constData(), "");
|
||||
i++;
|
||||
}
|
||||
while(i <= originalScriptCount);
|
||||
}
|
||||
for(int i = 1; i <= ui->listCommand->rowCount(); i++)
|
||||
{
|
||||
BridgeSettingSet("Favourite", QString("Command%1").arg(i).toUtf8().constData(), ui->listCommand->item(i - 1, 0)->text().toUtf8().constData());
|
||||
|
@ -458,11 +469,16 @@ void FavouriteTools::on_btnOK_clicked()
|
|||
BridgeSettingSet("Favourite", "CommandShortcut1", "");
|
||||
}
|
||||
else
|
||||
for(int i = ui->listCommand->rowCount() + 1; i <= originalCommandCount; i++)
|
||||
{
|
||||
i = ui->listCommand->rowCount() + 1;
|
||||
do
|
||||
{
|
||||
BridgeSettingSet("Favourite", QString("Command%1").arg(i).toUtf8().constData(), "");
|
||||
BridgeSettingSet("Favourite", QString("CommandShortcut%1").arg(i).toUtf8().constData(), "");
|
||||
i++;
|
||||
}
|
||||
while(i <= originalCommandCount);
|
||||
}
|
||||
this->done(QDialog::Accepted);
|
||||
}
|
||||
|
||||
|
|
|
@ -363,8 +363,7 @@ MainWindow::MainWindow(QWidget* parent)
|
|||
|
||||
// Menu stuff
|
||||
actionManageFavourites = nullptr;
|
||||
mFavouriteToolbar = new QToolBar(tr("Favourite ToolBar"), this);
|
||||
mFavouriteToolbar->hide();
|
||||
mFavouriteToolbar = new QToolBar(tr("Favourite Toolbox"), this);
|
||||
updateFavouriteTools();
|
||||
setupLanguagesMenu();
|
||||
setupThemesMenu();
|
||||
|
@ -747,6 +746,11 @@ void MainWindow::saveWindowSettings()
|
|||
mWidgetList[i].widget->parentWidget()->saveGeometry().toBase64().data());
|
||||
}
|
||||
|
||||
// Save favourite toolbar
|
||||
BridgeSettingSetUint("Main Window Settings", "FavToolbarPositionX", mFavouriteToolbar->x());
|
||||
BridgeSettingSetUint("Main Window Settings", "FavToolbarPositionY", mFavouriteToolbar->y());
|
||||
BridgeSettingSetUint("Main Window Settings", "FavToolbarVisible", mFavouriteToolbar->isVisible() ? 1 : 0);
|
||||
|
||||
mCpuWidget->saveWindowSettings();
|
||||
mSymbolView->saveWindowSettings();
|
||||
}
|
||||
|
@ -791,6 +795,14 @@ void MainWindow::loadWindowSettings()
|
|||
mTabWidget->DeleteTab(mTabWidget->indexOf(mWidgetList[i].widget));
|
||||
}
|
||||
|
||||
// Load favourite toolbar
|
||||
duint posx = 0, posy = 0, isVisible = 0;
|
||||
BridgeSettingGetUint("Main Window Settings", "FavToolbarPositionX", &posx);
|
||||
BridgeSettingGetUint("Main Window Settings", "FavToolbarPositionY", &posy);
|
||||
BridgeSettingGetUint("Main Window Settings", "FavToolbarVisible", &isVisible);
|
||||
mFavouriteToolbar->move(posx, posy);
|
||||
mFavouriteToolbar->setVisible(isVisible == 1);
|
||||
|
||||
mCpuWidget->loadWindowSettings();
|
||||
mSymbolView->loadWindowSettings();
|
||||
}
|
||||
|
@ -1885,7 +1897,7 @@ void MainWindow::updateFavouriteTools()
|
|||
for(unsigned int i = 1; BridgeSettingGet("Favourite", QString("Tool%1").arg(i).toUtf8().constData(), buffer); i++)
|
||||
{
|
||||
QString toolPath = QString(buffer);
|
||||
QAction* newAction = new QAction(actionManageFavourites);
|
||||
QAction* newAction = new QAction(actionManageFavourites); // Auto delete these actions on updateFavouriteTools()
|
||||
// Set up user data to be used in clickFavouriteTool()
|
||||
newAction->setData(QVariant(QString("Tool,%1").arg(toolPath)));
|
||||
if(BridgeSettingGet("Favourite", QString("ToolShortcut%1").arg(i).toUtf8().constData(), buffer))
|
||||
|
|
Loading…
Reference in New Issue