Skip to content

Commit d43dd9d

Browse files
committed
query: theme: fix query because of static member
1 parent d7a999a commit d43dd9d

File tree

4 files changed

+32
-32
lines changed

4 files changed

+32
-32
lines changed

include/query.hpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -163,17 +163,19 @@ class Theme
163163
Theme(const std::uint8_t ver, systemInfo_t& queried_themes, const std::string& theme_name_version,
164164
const Config& config, const bool gsettings_only = false);
165165

166-
Theme(const Config& config, const bool gsettings_only = false);
166+
Theme(systemInfo_t& queried_themes, const Config& config, const bool gsettings_only = false);
167167

168-
std::string& gtk_theme() noexcept;
169-
std::string& gtk_icon_theme() noexcept;
170-
std::string& gtk_font() noexcept;
168+
std::string gtk_theme() noexcept;
169+
std::string gtk_icon_theme() noexcept;
170+
std::string gtk_font() noexcept;
171171
std::string& cursor() noexcept;
172172
std::string& cursor_size() noexcept;
173173

174174
private:
175175
User query_user;
176176
std::string m_wmde_name;
177+
std::string m_theme_name;
178+
systemInfo_t& m_queried_themes;
177179
static Theme_t m_theme_infos;
178180
};
179181

src/parse.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1235,7 +1235,7 @@ void addValueFromModuleMember(const std::string& moduleName, const std::string&
12351235

12361236
else if (moduleName == "theme")
12371237
{
1238-
Query::Theme query_theme(config, false);
1238+
Query::Theme query_theme(queried_themes, config, false);
12391239

12401240
if (sysInfo.find(moduleName) == sysInfo.end())
12411241
sysInfo.insert({ moduleName, {} });
@@ -1266,7 +1266,7 @@ void addValueFromModuleMember(const std::string& moduleName, const std::string&
12661266
{
12671267
if (hasStart(moduleMemberName, "cursor"))
12681268
{
1269-
Query::Theme query_cursor(config, true);
1269+
Query::Theme query_cursor(queried_themes, config, true);
12701270
switch (moduleMember_hash)
12711271
{
12721272
case "cursor"_fnv1a16:
@@ -1306,9 +1306,9 @@ void addValueFromModuleMember(const std::string& moduleName, const std::string&
13061306
{
13071307
switch (moduleMember_hash)
13081308
{
1309-
case "name"_fnv1a16: SYSINFO_INSERT(get_auto_gtk_format(gtk2.gtk_theme(), gtk3.gtk_theme(), gtk4.gtk_theme())); break;
1310-
case "icons"_fnv1a16: SYSINFO_INSERT(get_auto_gtk_format(gtk2.gtk_icon_theme(), gtk3.gtk_icon_theme(), gtk4.gtk_icon_theme())); break;
1311-
case "font"_fnv1a16: SYSINFO_INSERT(get_auto_gtk_format(gtk2.gtk_font(), gtk3.gtk_font(), gtk4.gtk_font())); break;
1309+
case "name"_fnv1a16: SYSINFO_INSERT(get_auto_gtk_format(gtk2.gtk_theme(), gtk3.gtk_theme(), gtk4.gtk_theme())); break;
1310+
case "icons"_fnv1a16: SYSINFO_INSERT(get_auto_gtk_format(gtk2.gtk_icon_theme(), gtk3.gtk_icon_theme(), gtk4.gtk_icon_theme())); break;
1311+
case "font"_fnv1a16: SYSINFO_INSERT(get_auto_gtk_format(gtk2.gtk_font(), gtk3.gtk_font(), gtk4.gtk_font())); break;
13121312
}
13131313
}
13141314
}

src/query/android/theme.cpp

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,25 +33,26 @@ using namespace Query;
3333

3434
Theme::Theme(const std::uint8_t ver, systemInfo_t& queried_themes, const std::string& theme_name_version,
3535
const Config& config, const bool gsettings_only)
36+
: m_queried_themes(queried_themes)
3637
{
37-
m_theme_infos.cursor = m_theme_infos.gtk_font = m_theme_infos.cursor_size = m_theme_infos.gtk_theme_name =
38-
m_theme_infos.gtk_icon_theme = MAGIC_LINE;
38+
m_theme_infos.cursor = m_theme_infos.gtk_font = m_theme_infos.cursor_size = m_theme_infos.gtk_theme_name = m_theme_infos.gtk_icon_theme
39+
= MAGIC_LINE;
3940
}
4041

41-
Theme::Theme(const Config& config, const bool gsettings_only)
42+
Theme::Theme(systemInfo_t& queried_themes, const Config& config, const bool gsettings_only) : m_queried_themes(queried_themes)
4243
{
43-
m_theme_infos.cursor = m_theme_infos.gtk_font = m_theme_infos.cursor_size = m_theme_infos.gtk_theme_name =
44-
m_theme_infos.gtk_icon_theme = MAGIC_LINE;
44+
m_theme_infos.cursor = m_theme_infos.gtk_font = m_theme_infos.cursor_size = m_theme_infos.gtk_theme_name = m_theme_infos.gtk_icon_theme
45+
= MAGIC_LINE;
4546
}
4647

4748
// clang-format off
48-
std::string& Theme::gtk_theme() noexcept
49+
std::string Theme::gtk_theme() noexcept
4950
{ return m_theme_infos.gtk_theme_name; }
5051

51-
std::string& Theme::gtk_icon_theme() noexcept
52+
std::string Theme::gtk_icon_theme() noexcept
5253
{ return m_theme_infos.gtk_icon_theme; }
5354

54-
std::string& Theme::gtk_font() noexcept
55+
std::string Theme::gtk_font() noexcept
5556
{ return m_theme_infos.gtk_font; }
5657

5758
std::string& Theme::cursor() noexcept

src/query/unix/theme.cpp

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -478,20 +478,17 @@ static void get_gtk_theme(const bool dont_query_dewm, const std::uint8_t ver, co
478478
// clang-format off
479479
Theme::Theme(const std::uint8_t ver, systemInfo_t& queried_themes,
480480
const std::string& theme_name_version, const Config& config, const bool gsettings_only)
481+
: m_theme_name(theme_name_version),
482+
m_queried_themes(queried_themes)
481483
{
482484
if (queried_themes.find(theme_name_version) != queried_themes.end())
483-
{
484-
m_theme_infos.gtk_theme_name = getInfoFromName(queried_themes, theme_name_version, "theme-name");
485-
m_theme_infos.gtk_font = getInfoFromName(queried_themes, theme_name_version, "icon-theme-name");
486-
m_theme_infos.gtk_icon_theme = getInfoFromName(queried_themes, theme_name_version, "font-name");
487485
return;
488-
}
489486

490487
const std::string& wm_name = query_user.wm_name(query_user.m_bDont_query_dewm, query_user.term_name());
491488
const std::string& de_name = query_user.de_name(query_user.m_bDont_query_dewm, query_user.term_name(), wm_name);
492489

493490
if (((de_name != MAGIC_LINE && wm_name != MAGIC_LINE) &&
494-
de_name == wm_name) || de_name == MAGIC_LINE)
491+
de_name == wm_name) || de_name == MAGIC_LINE)
495492
m_wmde_name = wm_name;
496493
else
497494
m_wmde_name = de_name;
@@ -507,8 +504,8 @@ Theme::Theme(const std::uint8_t ver, systemInfo_t& queried_themes,
507504
if (m_theme_infos.gtk_icon_theme.empty())
508505
m_theme_infos.gtk_icon_theme = MAGIC_LINE;
509506

510-
queried_themes.insert(
511-
{theme_name_version, {
507+
m_queried_themes.insert(
508+
{m_theme_name, {
512509
{"theme-name", variant(m_theme_infos.gtk_theme_name)},
513510
{"icon-theme-name", variant(m_theme_infos.gtk_icon_theme)},
514511
{"font-name", variant(m_theme_infos.gtk_font)},
@@ -517,7 +514,7 @@ Theme::Theme(const std::uint8_t ver, systemInfo_t& queried_themes,
517514
}
518515

519516
// only use it for cursor
520-
Theme::Theme(const Config& config, const bool gsettings_only)
517+
Theme::Theme(systemInfo_t& queried_themes, const Config& config, const bool gsettings_only) : m_queried_themes(queried_themes)
521518
{
522519
const std::string& wm_name = query_user.wm_name(query_user.m_bDont_query_dewm, query_user.term_name());
523520
const std::string& de_name = query_user.de_name(query_user.m_bDont_query_dewm, query_user.term_name(), wm_name);
@@ -551,14 +548,14 @@ Theme::Theme(const Config& config, const bool gsettings_only)
551548

552549
}
553550

554-
std::string& Theme::gtk_theme() noexcept
555-
{ return m_theme_infos.gtk_theme_name; }
551+
std::string Theme::gtk_theme() noexcept
552+
{ return getInfoFromName(m_queried_themes, m_theme_name, "theme-name"); }
556553

557-
std::string& Theme::gtk_icon_theme() noexcept
558-
{ return m_theme_infos.gtk_icon_theme; }
554+
std::string Theme::gtk_icon_theme() noexcept
555+
{ return getInfoFromName(m_queried_themes, m_theme_name, "icon-theme-name"); }
559556

560-
std::string& Theme::gtk_font() noexcept
561-
{ return m_theme_infos.gtk_font; }
557+
std::string Theme::gtk_font() noexcept
558+
{ return getInfoFromName(m_queried_themes, m_theme_name, "font-name"); }
562559

563560
std::string& Theme::cursor() noexcept
564561
{ return m_theme_infos.cursor; }

0 commit comments

Comments
 (0)