do not restrict statusbar_visibility option if alternative ui is active
This commit is contained in:
@@ -132,19 +132,15 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
InitScreen("ncmpc++ ver. "VERSION, Config.colors_enabled);
|
InitScreen("ncmpc++ ver. "VERSION, Config.colors_enabled);
|
||||||
|
|
||||||
bool real_header_visibility = Config.header_visibility;
|
|
||||||
bool real_statusbar_visibility = Config.statusbar_visibility;
|
bool real_statusbar_visibility = Config.statusbar_visibility;
|
||||||
|
|
||||||
if (Config.new_design)
|
if (Config.new_design)
|
||||||
{
|
|
||||||
Config.header_visibility = 1;
|
|
||||||
Config.statusbar_visibility = 0;
|
Config.statusbar_visibility = 0;
|
||||||
}
|
|
||||||
|
|
||||||
size_t header_height, footer_start_y, footer_height;
|
size_t header_height, footer_start_y, footer_height;
|
||||||
SetWindowsDimensions(header_height, footer_start_y, footer_height);
|
SetWindowsDimensions(header_height, footer_start_y, footer_height);
|
||||||
|
|
||||||
if (Config.header_visibility)
|
if (Config.header_visibility || Config.new_design)
|
||||||
{
|
{
|
||||||
wHeader = new Window(0, 0, COLS, header_height, "", Config.header_color, brNone);
|
wHeader = new Window(0, 0, COLS, header_height, "", Config.header_color, brNone);
|
||||||
wHeader->Display();
|
wHeader->Display();
|
||||||
@@ -333,16 +329,7 @@ int main(int argc, char *argv[])
|
|||||||
if (Keypressed(input, Key.ToggleInterface))
|
if (Keypressed(input, Key.ToggleInterface))
|
||||||
{
|
{
|
||||||
Config.new_design = !Config.new_design;
|
Config.new_design = !Config.new_design;
|
||||||
if (Config.new_design)
|
Config.statusbar_visibility = Config.new_design ? 0 : real_statusbar_visibility;
|
||||||
{
|
|
||||||
Config.header_visibility = 1;
|
|
||||||
Config.statusbar_visibility = 0;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Config.header_visibility = real_header_visibility;
|
|
||||||
Config.statusbar_visibility = real_statusbar_visibility;
|
|
||||||
}
|
|
||||||
SetWindowsDimensions(header_height, footer_start_y, footer_height);
|
SetWindowsDimensions(header_height, footer_start_y, footer_height);
|
||||||
UnlockProgressbar();
|
UnlockProgressbar();
|
||||||
UnlockStatusbar();
|
UnlockStatusbar();
|
||||||
@@ -452,7 +439,7 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
myScreen->Resize();
|
myScreen->Resize();
|
||||||
|
|
||||||
if (Config.header_visibility)
|
if (Config.header_visibility || Config.new_design)
|
||||||
wHeader->Resize(COLS, header_height);
|
wHeader->Resize(COLS, header_height);
|
||||||
|
|
||||||
footer_start_y = LINES-(Config.statusbar_visibility ? 2 : 1);
|
footer_start_y = LINES-(Config.statusbar_visibility ? 2 : 1);
|
||||||
@@ -468,6 +455,9 @@ int main(int argc, char *argv[])
|
|||||||
if (design_changed)
|
if (design_changed)
|
||||||
changes.Volume = 1;
|
changes.Volume = 1;
|
||||||
}
|
}
|
||||||
|
// Note: routines for drawing separator if alternative user
|
||||||
|
// interface is active and header is hidden are placed in
|
||||||
|
// NcmpcppStatusChanges.StatusFlags
|
||||||
changes.StatusFlags = 1; // force status update
|
changes.StatusFlags = 1; // force status update
|
||||||
NcmpcppStatusChanged(&Mpd, changes, 0);
|
NcmpcppStatusChanged(&Mpd, changes, 0);
|
||||||
if (design_changed)
|
if (design_changed)
|
||||||
|
|||||||
@@ -554,7 +554,7 @@ void NcmpcppStatusChanged(Connection *, StatusChanges changed, void *)
|
|||||||
mpd_db_updating = Mpd.GetDBIsUpdating() ? 'U' : 0;
|
mpd_db_updating = Mpd.GetDBIsUpdating() ? 'U' : 0;
|
||||||
ShowMessage(!mpd_db_updating ? "Database update finished!" : "Database update started!");
|
ShowMessage(!mpd_db_updating ? "Database update finished!" : "Database update started!");
|
||||||
}
|
}
|
||||||
if (changed.StatusFlags && Config.header_visibility)
|
if (changed.StatusFlags && (Config.header_visibility || Config.new_design))
|
||||||
{
|
{
|
||||||
std::string switch_state;
|
std::string switch_state;
|
||||||
|
|
||||||
@@ -569,6 +569,12 @@ void NcmpcppStatusChanged(Connection *, StatusChanges changed, void *)
|
|||||||
switch_state += mpd_db_updating ? mpd_db_updating : '-';
|
switch_state += mpd_db_updating ? mpd_db_updating : '-';
|
||||||
switch_state += ']';
|
switch_state += ']';
|
||||||
*wHeader << XY(COLS-switch_state.length(), 1) << fmtBold << Config.state_flags_color << switch_state << clEnd << fmtBoldEnd;
|
*wHeader << XY(COLS-switch_state.length(), 1) << fmtBold << Config.state_flags_color << switch_state << clEnd << fmtBoldEnd;
|
||||||
|
if (Config.new_design && !Config.header_visibility) // in this case also draw separator
|
||||||
|
{
|
||||||
|
*wHeader << fmtBold << clBlack;
|
||||||
|
mvwhline(wHeader->Raw(), 2, 0, 0, COLS);
|
||||||
|
*wHeader << clEnd << fmtBoldEnd;
|
||||||
|
}
|
||||||
wHeader->Refresh();
|
wHeader->Refresh();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -603,7 +609,7 @@ void NcmpcppStatusChanged(Connection *, StatusChanges changed, void *)
|
|||||||
refresh();
|
refresh();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (changed.Volume && Config.header_visibility)
|
if (changed.Volume && (Config.header_visibility || Config.new_design))
|
||||||
{
|
{
|
||||||
VolumeState = Config.new_design ? " Vol: " : " Volume: ";
|
VolumeState = Config.new_design ? " Vol: " : " Volume: ";
|
||||||
int volume = Mpd.GetVolume();
|
int volume = Mpd.GetVolume();
|
||||||
|
|||||||
Reference in New Issue
Block a user