use ncurses pad instead of ncurses window by default

This commit is contained in:
Andrzej Rybczak
2009-02-18 21:45:54 +01:00
parent b210d3f270
commit c827c88993
8 changed files with 27 additions and 69 deletions

View File

@@ -99,7 +99,8 @@ void MediaLibrary::Refresh()
Songs->Display();
if (Albums->Empty())
{
*Albums << XY(0, 0) << "No albums found." << wrefresh;
*Albums << XY(0, 0) << "No albums found.";
Albums->Window::Refresh();
}
}
@@ -214,7 +215,8 @@ void MediaLibrary::Update()
Mpd->AddSearch(Config.media_lib_primary_tag, locale_to_utf_cpy(Artists->Current()));
if (Albums->Empty()) // left for compatibility with <mpd-0.14
{
*Albums << XY(0, 0) << "No albums found." << wrefresh;
*Albums << XY(0, 0) << "No albums found.";
Albums->Window::Refresh();
}
else
Mpd->AddSearch(MPD_TAG_ITEM_ALBUM, locale_to_utf_cpy(Albums->Current().second));

View File

@@ -345,7 +345,7 @@ template <class T> void Menu<T>::Refresh()
Bold(0);
line++;
}
wrefresh(itsWindow);
Window::Refresh();
}
template <class T> void Menu<T>::Scroll(Where where)

View File

@@ -159,7 +159,8 @@ void PlaylistEditor::Update()
if (Content->Empty())
{
*Content << XY(0, 0) << "Playlist is empty." << wrefresh;
*Content << XY(0, 0) << "Playlist is empty.";
Content->Window::Refresh();
}
}

View File

@@ -33,10 +33,6 @@ Scrollpad::Scrollpad(size_t startx,
itsBeginning(0),
itsRealHeight(1)
{
delwin(itsWindow);
itsWindow = newpad(itsHeight, itsWidth);
SetColor(itsColor);
keypad(itsWindow, 1);
}
Scrollpad::Scrollpad(const Scrollpad &s) : Window(s)
@@ -119,43 +115,12 @@ void Scrollpad::Recreate()
void Scrollpad::Refresh()
{
prefresh(itsWindow, itsBeginning, 0, itsStartY, itsStartX, itsStartY+itsHeight-1, itsStartX+itsWidth);
}
void Scrollpad::MoveTo(size_t x, size_t y)
{
itsStartX = x;
itsStartY = y;
if (itsBorder != brNone)
{
itsStartX++;
itsStartY++;
}
if (!itsTitle.empty())
itsStartY += 2;
prefresh(itsWindow, itsBeginning, 0, itsStartY, itsStartX, itsStartY+itsHeight-1, itsStartX+itsWidth-1);
}
void Scrollpad::Resize(size_t width, size_t height)
{
/*if (width+itsStartX > size_t(COLS)
|| height+itsStartY > size_t(LINES))
throw BadSize();*/
if (itsBorder != brNone)
{
delwin(itsWinBorder);
itsWinBorder = newpad(height, width);
wattron(itsWinBorder, COLOR_PAIR(itsBorder));
box(itsWinBorder, 0, 0);
width -= 2;
height -= 2;
}
if (!itsTitle.empty())
width -= 2;
itsHeight = height;
itsWidth = width;
AdjustDimensions(width, height);
itsBeginning = 0;
itsRealHeight = itsHeight;
Flush();

View File

@@ -38,7 +38,6 @@ class Scrollpad: public Window
virtual void Refresh();
virtual void Scroll(Where);
virtual void MoveTo(size_t, size_t);
virtual void Resize(size_t, size_t);
virtual void Clear(bool = 1);

View File

@@ -414,7 +414,8 @@ void TagEditor::Update()
if (Config.albums_in_tag_editor)
{
std::vector<string_pair> maplist;
*Albums << XY(0, 0) << "Fetching albums' list..." << wrefresh;
*Albums << XY(0, 0) << "Fetching albums' list...";
Albums->Window::Refresh();
Mpd->GetAlbums("", list);
for (TagList::const_iterator it = list.begin(); it != list.end(); it++)
{

View File

@@ -93,7 +93,7 @@ Window::Window(size_t startx,
itsHeight -= 2;
}
itsWindow = newwin(itsHeight, itsWidth, itsStartY, itsStartX);
itsWindow = newpad(itsHeight, itsWidth);
SetColor(itsColor);
keypad(itsWindow, 1);
@@ -201,7 +201,7 @@ void Window::SetTitle(const string &newtitle)
void Window::Recreate()
{
delwin(itsWindow);
itsWindow = newwin(itsHeight, itsWidth, itsStartY, itsStartX);
itsWindow = newpad(itsHeight, itsWidth);
SetTimeout(itsWindowTimeout);
SetColor(itsColor, itsBgColor);
keypad(itsWindow, 1);
@@ -209,15 +209,6 @@ void Window::Recreate()
void Window::MoveTo(size_t newx, size_t newy)
{
if (newx == itsStartX && newy == itsStartY)
return;
/*if (newx > size_t(COLS)
|| newy > size_t(LINES)
|| itsWidth+newx > size_t(COLS)
|| itsHeight+newy > size_t(LINES))
throw BadSize();*/
itsStartX = newx;
itsStartY = newy;
if (itsBorder != brNone)
@@ -227,15 +218,10 @@ void Window::MoveTo(size_t newx, size_t newy)
}
if (!itsTitle.empty())
itsStartY += 2;
mvwin(itsWindow, itsStartY, itsStartX);
}
void Window::Resize(size_t width, size_t height)
void Window::AdjustDimensions(size_t &width, size_t &height)
{
/*if (width+itsStartX > size_t(COLS)
|| height+itsStartY > size_t(LINES))
throw BadSize();*/
if (itsBorder != brNone)
{
delwin(itsWinBorder);
@@ -247,12 +233,14 @@ void Window::Resize(size_t width, size_t height)
}
if (!itsTitle.empty())
height -= 2;
if (wresize(itsWindow, height, width) == OK)
{
itsHeight = height;
itsWidth = width;
}
void Window::Resize(size_t width, size_t height)
{
AdjustDimensions(width, height);
Recreate();
}
void Window::ShowBorder() const
@@ -285,13 +273,13 @@ void Window::Display()
void Window::Refresh()
{
wrefresh(itsWindow);
prefresh(itsWindow, 0, 0, itsStartY, itsStartX, itsStartY+itsHeight-1, itsStartX+itsWidth-1);
}
void Window::Clear(bool)
{
werase(itsWindow);
wrefresh(itsWindow);
Refresh();
}
void Window::Hide(char x) const

View File

@@ -153,8 +153,10 @@ class Window
class BadSize { };
void ShowBorder() const;
void AdjustDimensions(size_t &, size_t &);
virtual void Recreate();
virtual void ShowBorder() const;
WINDOW *itsWindow;
WINDOW *itsWinBorder;