Skip to content

Commit 8f6d51b

Browse files
committed
Qt: return const char* from enum-name lookup methods
Three MainWindow methods exist solely to map an enum value to a fixed string literal: getThemeString, getCurrentViewTypeString, and getCurrentThumbnailTypeString. They returned QString built from a string literal at every call. Returning the literal directly as const char* is one less heap allocation per call and the caller (QSettings::setValue, which takes QVariant) accepts it via the implicit QString conversion either way. * getThemeString: 4 lines -> 1 line per branch. * getCurrentViewTypeString: switch over a 2-value enum collapses to an if. * getCurrentThumbnailTypeString: dropped a dead trailing 'return QString("list")' that the compiler couldn't reach - the THUMBNAIL_TYPE_BOXART branch already returned via the default label. No behaviour change. All four object files build with zero warnings.
1 parent 56e0592 commit 8f6d51b

2 files changed

Lines changed: 18 additions & 27 deletions

File tree

ui/drivers/ui_qt.cpp

Lines changed: 15 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2490,20 +2490,19 @@ MainWindow::Theme MainWindow::getThemeFromString(QString themeString)
24902490
return THEME_SYSTEM_DEFAULT;
24912491
}
24922492

2493-
QString MainWindow::getThemeString(Theme theme)
2493+
const char *MainWindow::getThemeString(Theme theme)
24942494
{
24952495
switch (theme)
24962496
{
2497-
case THEME_SYSTEM_DEFAULT:
2498-
return QString("default");
24992497
case THEME_DARK:
2500-
return QString("dark");
2498+
return "dark";
25012499
case THEME_CUSTOM:
2502-
return QString("custom");
2500+
return "custom";
2501+
case THEME_SYSTEM_DEFAULT:
25032502
default:
25042503
break;
25052504
}
2506-
return QString("default");
2505+
return "default";
25072506
}
25082507

25092508
MainWindow::Theme MainWindow::theme() { return m_currentTheme; }
@@ -3960,36 +3959,28 @@ void MainWindow::keyPressEvent(QKeyEvent *event)
39603959

39613960
QSettings* MainWindow::settings() { return m_settings; }
39623961

3963-
QString MainWindow::getCurrentViewTypeString()
3962+
const char *MainWindow::getCurrentViewTypeString()
39643963
{
3965-
switch (m_viewType)
3966-
{
3967-
case VIEW_TYPE_ICONS:
3968-
return QString("icons");
3969-
case VIEW_TYPE_LIST:
3970-
default:
3971-
break;
3972-
}
3973-
3974-
return QString("list");
3964+
if (m_viewType == VIEW_TYPE_ICONS)
3965+
return "icons";
3966+
return "list";
39753967
}
39763968

3977-
QString MainWindow::getCurrentThumbnailTypeString()
3969+
const char *MainWindow::getCurrentThumbnailTypeString()
39783970
{
39793971
switch (m_thumbnailType)
39803972
{
39813973
case THUMBNAIL_TYPE_SCREENSHOT:
3982-
return QString("screenshot");
3974+
return "screenshot";
39833975
case THUMBNAIL_TYPE_TITLE_SCREEN:
3984-
return QString("title");
3976+
return "title";
39853977
case THUMBNAIL_TYPE_LOGO:
3986-
return QString("logo");
3978+
return "logo";
39873979
case THUMBNAIL_TYPE_BOXART:
39883980
default:
3989-
return QString("boxart");
3981+
break;
39903982
}
3991-
3992-
return QString("list");
3983+
return "boxart";
39933984
}
39943985

39953986
ThumbnailType MainWindow::getThumbnailTypeFromString(QString thumbnailType)

ui/drivers/ui_qt.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -474,18 +474,18 @@ class MainWindow : public QMainWindow
474474
void setTheme(Theme theme = THEME_SYSTEM_DEFAULT);
475475
Theme theme();
476476
Theme getThemeFromString(QString themeString);
477-
QString getThemeString(Theme theme);
477+
const char *getThemeString(Theme theme);
478478
QString getSelectedCorePath();
479479
void showStatusMessage(QString msg, unsigned priority, unsigned duration, bool flush);
480480
bool showMessageBox(QString msg, MessageBoxType msgType = MSGBOX_TYPE_INFO, Qt::WindowModality modality = Qt::ApplicationModal, bool showDontAsk = true, bool *dontAsk = NULL);
481481
bool setCustomThemeFile(QString filePath);
482482
void setCustomThemeString(QString qss);
483483
const QString& customThemeString() const;
484484
void setCurrentViewType(ViewType viewType);
485-
QString getCurrentViewTypeString();
485+
const char *getCurrentViewTypeString();
486486
ViewType getCurrentViewType();
487487
void setCurrentThumbnailType(ThumbnailType thumbnailType);
488-
QString getCurrentThumbnailTypeString();
488+
const char *getCurrentThumbnailTypeString();
489489
ThumbnailType getCurrentThumbnailType();
490490
ThumbnailType getThumbnailTypeFromString(QString thumbnailType);
491491
void setAllPlaylistsListMaxCount(int count);

0 commit comments

Comments
 (0)