mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2025-12-18 06:28:03 -06:00
Allow to set custom suffix to window title
This is to allow users to differentiate qbt instances when there are multiple running. PR #20429. Closes #17905.
This commit is contained in:
@@ -122,7 +122,7 @@ namespace
|
||||
}
|
||||
}
|
||||
|
||||
MainWindow::MainWindow(IGUIApplication *app, WindowState initialState)
|
||||
MainWindow::MainWindow(IGUIApplication *app, const WindowState initialState, const QString &titleSuffix)
|
||||
: GUIApplicationComponent(app)
|
||||
, m_ui(new Ui::MainWindow)
|
||||
, m_storeExecutionLogEnabled(EXECUTIONLOG_SETTINGS_KEY(u"Enabled"_s))
|
||||
@@ -134,9 +134,10 @@ MainWindow::MainWindow(IGUIApplication *app, WindowState initialState)
|
||||
{
|
||||
m_ui->setupUi(this);
|
||||
|
||||
setTitleSuffix(titleSuffix);
|
||||
|
||||
Preferences *const pref = Preferences::instance();
|
||||
m_uiLocked = pref->isUILocked();
|
||||
setWindowTitle(QStringLiteral("qBittorrent " QBT_VERSION));
|
||||
m_displaySpeedInTitle = pref->speedInTitleBar();
|
||||
// Setting icons
|
||||
#ifndef Q_OS_MACOS
|
||||
@@ -524,6 +525,16 @@ void MainWindow::setDownloadTrackerFavicon(const bool value)
|
||||
m_storeDownloadTrackerFavicon = value;
|
||||
}
|
||||
|
||||
void MainWindow::setTitleSuffix(const QString &suffix)
|
||||
{
|
||||
const auto emDash = QChar(0x2014);
|
||||
const QString separator = u' ' + emDash + u' ';
|
||||
m_windowTitle = QStringLiteral("qBittorrent " QBT_VERSION)
|
||||
+ (!suffix.isEmpty() ? (separator + suffix) : QString());
|
||||
|
||||
setWindowTitle(m_windowTitle);
|
||||
}
|
||||
|
||||
void MainWindow::addToolbarContextMenu()
|
||||
{
|
||||
const Preferences *const pref = Preferences::instance();
|
||||
@@ -1485,23 +1496,24 @@ void MainWindow::loadPreferences()
|
||||
void MainWindow::reloadSessionStats()
|
||||
{
|
||||
const BitTorrent::SessionStatus &status = BitTorrent::Session::instance()->status();
|
||||
const QString downloadRate = Utils::Misc::friendlyUnit(status.payloadDownloadRate, true);
|
||||
const QString uploadRate = Utils::Misc::friendlyUnit(status.payloadUploadRate, true);
|
||||
|
||||
// update global information
|
||||
#ifdef Q_OS_MACOS
|
||||
m_badger->updateSpeed(status.payloadDownloadRate, status.payloadUploadRate);
|
||||
#else
|
||||
const auto toolTip = u"%1\n%2"_s.arg(
|
||||
tr("DL speed: %1", "e.g: Download speed: 10 KiB/s").arg(Utils::Misc::friendlyUnit(status.payloadDownloadRate, true))
|
||||
, tr("UP speed: %1", "e.g: Upload speed: 10 KiB/s").arg(Utils::Misc::friendlyUnit(status.payloadUploadRate, true)));
|
||||
tr("DL speed: %1", "e.g: Download speed: 10 KiB/s").arg(downloadRate)
|
||||
, tr("UP speed: %1", "e.g: Upload speed: 10 KiB/s").arg(uploadRate));
|
||||
app()->desktopIntegration()->setToolTip(toolTip); // tray icon
|
||||
#endif // Q_OS_MACOS
|
||||
|
||||
if (m_displaySpeedInTitle)
|
||||
{
|
||||
setWindowTitle(tr("[D: %1, U: %2] qBittorrent %3", "D = Download; U = Upload; %3 is qBittorrent version")
|
||||
.arg(Utils::Misc::friendlyUnit(status.payloadDownloadRate, true)
|
||||
, Utils::Misc::friendlyUnit(status.payloadUploadRate, true)
|
||||
, QStringLiteral(QBT_VERSION)));
|
||||
const QString title = tr("[D: %1, U: %2] %3", "D = Download; U = Upload; %3 is the rest of the window title")
|
||||
.arg(downloadRate, uploadRate, m_windowTitle);
|
||||
setWindowTitle(title);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1621,7 +1633,7 @@ void MainWindow::on_actionSpeedInTitleBar_triggered()
|
||||
if (m_displaySpeedInTitle)
|
||||
reloadSessionStats();
|
||||
else
|
||||
setWindowTitle(QStringLiteral("qBittorrent " QBT_VERSION));
|
||||
setWindowTitle(m_windowTitle);
|
||||
}
|
||||
|
||||
void MainWindow::on_actionRSSReader_triggered()
|
||||
|
||||
Reference in New Issue
Block a user