allow for unicode characters in progressbar_look
This commit is contained in:
@@ -98,6 +98,8 @@ namespace
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
setlocale(LC_ALL, "");
|
||||
|
||||
CreateConfigDir();
|
||||
DefaultConfiguration(Config);
|
||||
DefaultKeys(Key);
|
||||
@@ -1136,8 +1138,9 @@ int main(int argc, char *argv[])
|
||||
int howlong = wFooter->GetWidth()*progressbar_size;
|
||||
|
||||
mvwhline(wFooter->Raw(), 0, 0, 0, wFooter->GetWidth());
|
||||
mvwhline(wFooter->Raw(), 0, 0, Config.progressbar[0], howlong);
|
||||
mvwaddch(wFooter->Raw(), 0, howlong, Config.progressbar[1]);
|
||||
for (int i = 0; i < howlong; ++i)
|
||||
*wFooter << Config.progressbar[0];
|
||||
*wFooter << Config.progressbar[1];
|
||||
*wFooter << fmtBoldEnd;
|
||||
wFooter->Refresh();
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
# include <sys/stat.h>
|
||||
#endif // WIN32
|
||||
#include <fstream>
|
||||
#include <stdexcept>
|
||||
|
||||
#include "global.h"
|
||||
#include "helpers.h"
|
||||
@@ -251,7 +252,7 @@ void DefaultConfiguration(ncmpcpp_config &conf)
|
||||
conf.new_header_first_line = "{$b$1$aqqu$/a$9 {%t}|{%f} $1$atqq$/a$9$/b}";
|
||||
conf.new_header_second_line = "{{{$4$b%a$/b$9}{ - $7%b$9}{ ($4%y$9)}}|{%D}}";
|
||||
conf.browser_playlist_prefix << clRed << "(playlist)" << clEnd << ' ';
|
||||
conf.progressbar = "=>";
|
||||
conf.progressbar = U("=>");
|
||||
conf.pattern = "%n - %t";
|
||||
conf.selected_item_prefix << clMagenta;
|
||||
conf.selected_item_suffix << clEnd;
|
||||
@@ -624,8 +625,9 @@ void ReadConfiguration(ncmpcpp_config &conf)
|
||||
}
|
||||
else if (cl.find("progressbar_look") != std::string::npos)
|
||||
{
|
||||
if (v.length() == 2)
|
||||
conf.progressbar = v;
|
||||
conf.progressbar = TO_WSTRING(v);
|
||||
if (conf.progressbar.length() != 2)
|
||||
throw std::runtime_error("the length of progressbar_look is not two characters long!");
|
||||
}
|
||||
else if (cl.find("default_tag_editor_pattern") != std::string::npos)
|
||||
{
|
||||
|
||||
@@ -139,7 +139,7 @@ struct ncmpcpp_config
|
||||
std::string execute_on_song_change;
|
||||
std::string new_header_first_line;
|
||||
std::string new_header_second_line;
|
||||
std::string progressbar;
|
||||
std::basic_string<my_char_t> progressbar;
|
||||
|
||||
std::string pattern;
|
||||
|
||||
|
||||
@@ -502,8 +502,9 @@ void NcmpcppStatusChanged(Connection *, StatusChanges changed, void *)
|
||||
mvwhline(wFooter->Raw(), 0, 0, 0, wFooter->GetWidth());
|
||||
if (np.GetTotalLength())
|
||||
{
|
||||
mvwhline(wFooter->Raw(), 0, 0, Config.progressbar[0], howlong);
|
||||
mvwaddch(wFooter->Raw(), 0, howlong, Config.progressbar[1]);
|
||||
for (int i = 0; i < howlong; ++i)
|
||||
*wFooter << Config.progressbar[0];
|
||||
*wFooter << Config.progressbar[1];
|
||||
}
|
||||
wFooter->SetColor(Config.statusbar_color);
|
||||
}
|
||||
|
||||
@@ -37,7 +37,6 @@ void NCurses::InitScreen(GNUC_UNUSED const char *window_title, bool enable_color
|
||||
COLOR_BLACK, COLOR_RED, COLOR_GREEN, COLOR_YELLOW,
|
||||
COLOR_BLUE, COLOR_MAGENTA, COLOR_CYAN, COLOR_WHITE
|
||||
};
|
||||
setlocale(LC_ALL, "");
|
||||
# ifdef XCURSES
|
||||
Xinitscr(1, const_cast<char **>(&window_title));
|
||||
# else
|
||||
|
||||
Reference in New Issue
Block a user