Skip to content

Commit

Permalink
Disable other tabs while a tab is loading
Browse files Browse the repository at this point in the history
  • Loading branch information
AdrianTM committed Aug 2, 2024
1 parent 6c6c702 commit d19de7b
Showing 1 changed file with 31 additions and 23 deletions.
54 changes: 31 additions & 23 deletions mainwindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,8 @@ MainWindow::MainWindow(const QCommandLineParser &arg_parser, QWidget *parent)
AptCache cache;
enabled_list = cache.getCandidates();
displayPackages();
ui->tabWidget->setTabEnabled(ui->tabWidget->indexOf(ui->tabMXtest), true);
ui->tabWidget->setTabEnabled(ui->tabWidget->indexOf(ui->tabBackports), true);
ui->tabWidget->setTabEnabled(Tab::Test, true);
ui->tabWidget->setTabEnabled(Tab::Backports, true);
}
if (arch != "i386" && checkInstalled("flatpak")) {
if (!Cmd().run("flatpak remote-list --system --columns=name | grep -qw flathub", true)) {
Expand All @@ -102,8 +102,8 @@ void MainWindow::setup()
qDebug() << "+++" << __PRETTY_FUNCTION__ << "+++";
ui->tabWidget->blockSignals(true);
ui->tabWidget->setCurrentWidget(ui->tabPopular);
ui->tabWidget->setTabEnabled(ui->tabWidget->indexOf(ui->tabMXtest), false);
ui->tabWidget->setTabEnabled(ui->tabWidget->indexOf(ui->tabBackports), false);
ui->tabWidget->setTabEnabled(Tab::Test, false);
ui->tabWidget->setTabEnabled(Tab::Backports, false);
ui->pushRemoveAutoremovable->setHidden(true);

QFont font("monospace");
Expand Down Expand Up @@ -135,7 +135,7 @@ void MainWindow::setup()
ui->searchPopular->setFocus();
currentTree = ui->treePopularApps;

ui->tabWidget->setTabEnabled(ui->tabWidget->indexOf(ui->tabOutput), false);
ui->tabWidget->setTabEnabled(Tab::Output, false);
ui->tabWidget->blockSignals(false);
ui->pushUpgradeAll->setVisible(false);

Expand Down Expand Up @@ -176,12 +176,12 @@ bool MainWindow::uninstall(const QString &names, const QString &preuninstall, co
return true;
}

ui->tabWidget->setTabText(ui->tabWidget->indexOf(ui->tabOutput), tr("Uninstalling packages..."));
ui->tabWidget->setTabText(Tab::Output, tr("Uninstalling packages..."));
enableOutput();

if (!preuninstall.isEmpty()) {
qDebug() << "Pre-uninstall";
ui->tabWidget->setTabText(ui->tabWidget->indexOf(ui->tabOutput), tr("Running pre-uninstall operations..."));
ui->tabWidget->setTabText(Tab::Output, tr("Running pre-uninstall operations..."));
enableOutput();
if (lock_file.isLockedGUI()) {
return false;
Expand All @@ -201,7 +201,7 @@ bool MainWindow::uninstall(const QString &names, const QString &preuninstall, co

if (success && !postuninstall.isEmpty()) {
qDebug() << "Post-uninstall";
ui->tabWidget->setTabText(ui->tabWidget->indexOf(ui->tabOutput), tr("Running post-uninstall operations..."));
ui->tabWidget->setTabText(Tab::Output, tr("Running post-uninstall operations..."));
enableOutput();
if (lock_file.isLockedGUI()) {
return false;
Expand All @@ -218,7 +218,7 @@ bool MainWindow::updateApt()
return false;
}
ui->tabOutput->isVisible() // Don't display in output if calling to refresh from tabs
? ui->tabWidget->setTabText(ui->tabWidget->indexOf(ui->tabOutput), tr("Refreshing sources..."))
? ui->tabWidget->setTabText(Tab::Output, tr("Refreshing sources..."))
: progress->show();
if (!timer.isActive()) {
timer.start(100ms);
Expand Down Expand Up @@ -1258,7 +1258,7 @@ bool MainWindow::install(const QString &names)
tr("Internet is not available, won't be able to download the list of packages"));
return false;
}
ui->tabWidget->setTabText(ui->tabWidget->indexOf(ui->tabOutput), tr("Installing packages..."));
ui->tabWidget->setTabText(Tab::Output, tr("Installing packages..."));

// Simulate install of selections and present for confirmation
// if user selects cancel, break routine but return success to avoid error message
Expand Down Expand Up @@ -1313,7 +1313,7 @@ bool MainWindow::installBatch(const QStringList &name_list)

if (postinstall != '\n') {
qDebug() << "Post-install";
ui->tabWidget->setTabText(ui->tabWidget->indexOf(ui->tabOutput), tr("Post-processing..."));
ui->tabWidget->setTabText(Tab::Output, tr("Post-processing..."));
if (lock_file.isLockedGUI()) {
return false;
}
Expand Down Expand Up @@ -1345,7 +1345,7 @@ bool MainWindow::installPopularApp(const QString &name)
// Preinstall
if (!preinstall.isEmpty()) {
qDebug() << "Pre-install";
ui->tabWidget->setTabText(ui->tabWidget->indexOf(ui->tabOutput), tr("Pre-processing for ") + name);
ui->tabWidget->setTabText(Tab::Output, tr("Pre-processing for ") + name);
if (lock_file.isLockedGUI()) {
return false;
}
Expand All @@ -1360,14 +1360,14 @@ bool MainWindow::installPopularApp(const QString &name)
}
// Install
if (!install_names.isEmpty()) {
ui->tabWidget->setTabText(ui->tabWidget->indexOf(ui->tabOutput), tr("Installing ") + name);
ui->tabWidget->setTabText(Tab::Output, tr("Installing ") + name);
result = install(install_names);
}
enableOutput();
// Postinstall
if (!postinstall.isEmpty()) {
qDebug() << "Post-install";
ui->tabWidget->setTabText(ui->tabWidget->indexOf(ui->tabOutput), tr("Post-processing for ") + name);
ui->tabWidget->setTabText(Tab::Output, tr("Post-processing for ") + name);
if (lock_file.isLockedGUI()) {
return false;
}
Expand Down Expand Up @@ -1430,7 +1430,7 @@ bool MainWindow::installPopularApps()
bool MainWindow::installSelected()
{
qDebug() << "+++" << __PRETTY_FUNCTION__ << "+++";
ui->tabWidget->setTabEnabled(ui->tabWidget->indexOf(ui->tabOutput), true);
ui->tabWidget->setTabEnabled(Tab::Output, true);
QString names = change_list.join(' ');

// Change sources as needed
Expand Down Expand Up @@ -1478,7 +1478,7 @@ bool MainWindow::installSelected()
bool MainWindow::markKeep()
{
qDebug() << "+++" << __PRETTY_FUNCTION__ << "+++";
ui->tabWidget->setTabEnabled(ui->tabWidget->indexOf(ui->tabOutput), true);
ui->tabWidget->setTabEnabled(Tab::Output, true);
QString names = change_list.join(' ');
enableOutput();
return cmd.runAsRoot("apt-mark manual " + names);
Expand Down Expand Up @@ -2357,7 +2357,7 @@ void MainWindow::findPackage()
void MainWindow::showOutput()
{
ui->outputBox->clear();
ui->tabWidget->setTabEnabled(ui->tabWidget->indexOf(ui->tabOutput), true);
ui->tabWidget->setTabEnabled(Tab::Output, true);
ui->tabWidget->setCurrentWidget(ui->tabOutput);
enableTabs(false);
}
Expand Down Expand Up @@ -2537,7 +2537,7 @@ void MainWindow::pushUninstall_clicked()
void MainWindow::tabWidget_currentChanged(int index)
{
qDebug() << "+++" << __PRETTY_FUNCTION__ << "+++";
ui->tabWidget->setTabText(ui->tabWidget->indexOf(ui->tabOutput), tr("Console Output"));
ui->tabWidget->setTabText(Tab::Output, tr("Console Output"));
ui->pushInstall->setEnabled(false);
ui->pushUninstall->setEnabled(false);
currentTree->blockSignals(true);
Expand All @@ -2546,6 +2546,15 @@ void MainWindow::tabWidget_currentChanged(int index)
QString search_str;
saveSearchText(search_str, savedComboIndex);

auto setTabsEnabled = [this](bool enable) {
for (auto tab : {Tab::Popular, Tab::EnabledRepos, Tab::Test, Tab::Backports, Tab::Flatpak}) {
if (tab != ui->tabWidget->currentIndex()) {
ui->tabWidget->setTabEnabled(tab, enable);
}
}
};

setTabsEnabled(false);
switch (index) {
case Tab::Popular: {
bool tempFlag = false;
Expand All @@ -2567,6 +2576,7 @@ void MainWindow::tabWidget_currentChanged(int index)
handleOutputTab();
break;
}
setTabsEnabled(true);
ui->pushUpgradeAll->setVisible((currentTree == ui->treeEnabled) && (ui->labelNumUpgr->text().toInt() > 0));
}

Expand Down Expand Up @@ -2601,7 +2611,7 @@ void MainWindow::saveSearchText(QString &search_str, int &filter_idx)
void MainWindow::handleEnabledReposTab(const QString &search_str)
{
ui->searchBoxEnabled->setText(search_str);
enableTabs(true);
// enableTabs(true);
setCurrentTree();
change_list.clear();
if (displayPackagesIsRunning) {
Expand Down Expand Up @@ -2637,7 +2647,6 @@ void MainWindow::handleTab(const QString &search_str, QLineEdit *searchBox, cons
if (searchBox) {
searchBox->setText(search_str);
}
enableTabs(true);
setCurrentTree();
if (!warningMessage.isEmpty()) {
displayWarning(warningMessage);
Expand Down Expand Up @@ -2667,7 +2676,6 @@ void MainWindow::handleFlatpakTab(const QString &search_str)
{
lastItemClicked = nullptr;
ui->searchBoxFlatpak->setText(search_str);
enableTabs(true);
setCurrentTree();
displayWarning("flatpaks");
ui->searchBoxFlatpak->setFocus();
Expand Down Expand Up @@ -2716,7 +2724,7 @@ void MainWindow::handleFlatpakTab(const QString &search_str)

void MainWindow::installFlatpak()
{
ui->tabWidget->setTabEnabled(ui->tabWidget->indexOf(ui->tabOutput), true);
ui->tabWidget->setTabEnabled(Tab::Output, true);
ui->tabWidget->setCurrentWidget(ui->tabOutput);
setCursor(QCursor(Qt::BusyCursor));
showOutput();
Expand Down Expand Up @@ -2745,7 +2753,7 @@ void MainWindow::installFlatpak()
}
}
setCursor(QCursor(Qt::ArrowCursor));
ui->tabWidget->setTabText(ui->tabWidget->indexOf(ui->tabOutput), tr("Console Output"));
ui->tabWidget->setTabText(Tab::Output, tr("Console Output"));
ui->tabWidget->blockSignals(true);
displayFlatpaks(true);
ui->tabWidget->blockSignals(false);
Expand Down

0 comments on commit d19de7b

Please sign in to comment.