commit cc0faeee0871fdc192b2c2ad011ac0b68a783fb8 Author: Tobias Rundstrom Date: Tue Feb 14 23:12:46 2006 -0300 Initial commit diff --git a/Button.cpp b/Button.cpp new file mode 100644 index 0000000..bcc2081 --- /dev/null +++ b/Button.cpp @@ -0,0 +1,96 @@ +#include "Button.h" +#include "MainWindow.h" +#include "Display.h" + +Button::Button (QWidget *parent, uint normal, uint pressed) : PixWidget (parent) +{ + MainWindow *mw = (MainWindow *)((SkinDisplay *)parent)->getMW(); + + m_pixmap_normal = mw->getSkin ()->getItem (normal); + m_pixmap_pressed = mw->getSkin ()->getItem (pressed); + m_pixmap = m_pixmap_normal; + m_func = NULL; + + setMinimumSize (m_pixmap.size ()); + setMaximumSize (m_pixmap.size ()); +} + +Button::~Button () +{ +} + +void Button::mousePressEvent (QMouseEvent *event) +{ + ((SkinDisplay *)parent ())->setNoDrag (true); + m_pixmap = m_pixmap_pressed; + update (); +} + +void Button::mouseReleaseEvent (QMouseEvent *event) +{ + ((SkinDisplay *)parent())->setNoDrag (false); + m_pixmap = m_pixmap_normal; + update(); + + if (m_func) { + m_func (m_userdata); + } +} + +void +clicked (void *userdata) +{ + ToggleButton *t = (ToggleButton *)userdata; + t->toggleOn (!t->getOn()); + t->runFunc (); +} + +ToggleButton::ToggleButton (QWidget *parent, uint on_normal, uint on_pressed, + uint off_normal, uint off_pressed) : + Button (parent, off_normal, off_pressed) +{ + MainWindow *mw = (MainWindow *)((SkinDisplay *)parent)->getMW(); + + m_pixmap_on_normal = mw->getSkin()->getItem(on_normal); + m_pixmap_on_pressed = mw->getSkin()->getItem(on_pressed); + m_pixmap_off_normal = mw->getSkin()->getItem(off_normal); + m_pixmap_off_pressed = mw->getSkin()->getItem(off_pressed); + + m_func = clicked; + m_userdata = (void *)this; + + m_func2 = NULL; + m_userdata2 = NULL; + + toggleOn (false); +} + +void +ToggleButton::runFunc () +{ + if (m_func2) { + m_func2 (m_userdata2); + } +} + +void +ToggleButton::toggleOn (bool t) +{ + if (t) { + m_pixmap_normal = m_pixmap_on_normal; + m_pixmap_pressed = m_pixmap_on_pressed; + m_toggled_on = true; + } else { + m_pixmap_normal = m_pixmap_off_normal; + m_pixmap_pressed = m_pixmap_off_pressed; + m_toggled_on = false; + } + + m_pixmap = m_pixmap_normal; + update (); + +} + +ToggleButton::~ToggleButton () +{ +} diff --git a/Button.h b/Button.h new file mode 100644 index 0000000..984d5f0 --- /dev/null +++ b/Button.h @@ -0,0 +1,52 @@ +#ifndef __BUTTON_H__ +#define __BUTTON_H__ + +#include +#include "PixWidget.h" + +using namespace std; + +class Button : public PixWidget +{ + Q_OBJECT + public: + Button (QWidget *parent, uint btn1, uint btn2); + ~Button (); + void setFunc (void (*func)(void *userdata), void *userdata) { m_func = func; m_userdata = userdata; } + + protected: + void mousePressEvent (QMouseEvent *event); + void mouseReleaseEvent (QMouseEvent *event); + + QPixmap m_pixmap_normal; + QPixmap m_pixmap_pressed; + void (*m_func)(void *userdata); + void *m_userdata; +}; + +class ToggleButton : public Button +{ + Q_OBJECT + public: + ToggleButton (QWidget *parent, uint, uint, uint, uint); + ~ToggleButton (); + + void toggleOn (bool); + void setFunc (void (*func)(void *userdata), void *userdata) { m_func2 = func; m_userdata2 = userdata; } + + bool getOn () const { return m_toggled_on; } + void runFunc (); + + private: + void (*m_func2)(void *userdata); + void *m_userdata2; + + QPixmap m_pixmap_on_normal; + QPixmap m_pixmap_on_pressed; + QPixmap m_pixmap_off_normal; + QPixmap m_pixmap_off_pressed; + + bool m_toggled_on; +}; + +#endif diff --git a/CleanAMP/Eq_ex.bmp b/CleanAMP/Eq_ex.bmp new file mode 100644 index 0000000..becb9de Binary files /dev/null and b/CleanAMP/Eq_ex.bmp differ diff --git a/CleanAMP/GENEX.bmp b/CleanAMP/GENEX.bmp new file mode 100644 index 0000000..e3d9351 Binary files /dev/null and b/CleanAMP/GENEX.bmp differ diff --git a/CleanAMP/Gen.bmp b/CleanAMP/Gen.bmp new file mode 100644 index 0000000..6ed87cf Binary files /dev/null and b/CleanAMP/Gen.bmp differ diff --git a/CleanAMP/MONOSTER.BMP b/CleanAMP/MONOSTER.BMP new file mode 100644 index 0000000..17a27f8 Binary files /dev/null and b/CleanAMP/MONOSTER.BMP differ diff --git a/CleanAMP/PLEDIT.TXT b/CleanAMP/PLEDIT.TXT new file mode 100644 index 0000000..19dca3c --- /dev/null +++ b/CleanAMP/PLEDIT.TXT @@ -0,0 +1,8 @@ +[Text] +Normal=#6D766F +Current=#E9F0EA +NormalBG=#B7C2B9 +SelectedBG=#A9B4AB +Font=Tahoma +mbBG=#013665 +mbFG=#74D0FD \ No newline at end of file diff --git a/CleanAMP/ReadMe.txt b/CleanAMP/ReadMe.txt new file mode 100644 index 0000000..78bac3f --- /dev/null +++ b/CleanAMP/ReadMe.txt @@ -0,0 +1,11 @@ +:: CleanAMP :: + +My first serious Winamp2 skin. +Hope you'll like it. + +http://www.al-x.as.ro +http://alexxp.deviantart.com + +e-mail : alx1984@gmail.com + +Copyright © al-x(2005) \ No newline at end of file diff --git a/CleanAMP/Thumbs.db b/CleanAMP/Thumbs.db new file mode 100644 index 0000000..782264b Binary files /dev/null and b/CleanAMP/Thumbs.db differ diff --git a/CleanAMP/VIDEO.bmp b/CleanAMP/VIDEO.bmp new file mode 100644 index 0000000..7d87f45 Binary files /dev/null and b/CleanAMP/VIDEO.bmp differ diff --git a/CleanAMP/Volume.bmp b/CleanAMP/Volume.bmp new file mode 100644 index 0000000..f39a114 Binary files /dev/null and b/CleanAMP/Volume.bmp differ diff --git a/CleanAMP/balance.bmp b/CleanAMP/balance.bmp new file mode 100644 index 0000000..44cd424 Binary files /dev/null and b/CleanAMP/balance.bmp differ diff --git a/CleanAMP/cbuttons.bmp b/CleanAMP/cbuttons.bmp new file mode 100644 index 0000000..b93c676 Binary files /dev/null and b/CleanAMP/cbuttons.bmp differ diff --git a/CleanAMP/eqmain.bmp b/CleanAMP/eqmain.bmp new file mode 100644 index 0000000..4ff8440 Binary files /dev/null and b/CleanAMP/eqmain.bmp differ diff --git a/CleanAMP/main.bmp b/CleanAMP/main.bmp new file mode 100644 index 0000000..db8deab Binary files /dev/null and b/CleanAMP/main.bmp differ diff --git a/CleanAMP/mb.bmp b/CleanAMP/mb.bmp new file mode 100644 index 0000000..1a54fa8 Binary files /dev/null and b/CleanAMP/mb.bmp differ diff --git a/CleanAMP/numbers.bmp b/CleanAMP/numbers.bmp new file mode 100644 index 0000000..85ecad3 Binary files /dev/null and b/CleanAMP/numbers.bmp differ diff --git a/CleanAMP/playpaus.bmp b/CleanAMP/playpaus.bmp new file mode 100644 index 0000000..13d988e Binary files /dev/null and b/CleanAMP/playpaus.bmp differ diff --git a/CleanAMP/pledit.bmp b/CleanAMP/pledit.bmp new file mode 100644 index 0000000..d42ee35 Binary files /dev/null and b/CleanAMP/pledit.bmp differ diff --git a/CleanAMP/posbar.bmp b/CleanAMP/posbar.bmp new file mode 100644 index 0000000..ed92f6a Binary files /dev/null and b/CleanAMP/posbar.bmp differ diff --git a/CleanAMP/shufrep.bmp b/CleanAMP/shufrep.bmp new file mode 100644 index 0000000..17f1943 Binary files /dev/null and b/CleanAMP/shufrep.bmp differ diff --git a/CleanAMP/text.bmp b/CleanAMP/text.bmp new file mode 100644 index 0000000..7377d62 Binary files /dev/null and b/CleanAMP/text.bmp differ diff --git a/CleanAMP/titlebar.bmp b/CleanAMP/titlebar.bmp new file mode 100644 index 0000000..a14b6e7 Binary files /dev/null and b/CleanAMP/titlebar.bmp differ diff --git a/CleanAMP/viscolor.txt b/CleanAMP/viscolor.txt new file mode 100644 index 0000000..e2a0c97 --- /dev/null +++ b/CleanAMP/viscolor.txt @@ -0,0 +1,29 @@ +183,194,185, +183,194,185, +7,8,7, +17,19,17, +28,30,28, +39,41,39, +49,52,50, +60,64,60, +71,75,71, +81,86,82, +92,97,93, +103,108,104, +113,119,115, +124,131,125, +134,142,136, +145,153,147, +156,164,158, +167,176,169, +124,131,125, +134,142,136, +145,153,147, +156,164,158, +167,176,169, +109,118,111, + + +This file modified by Winamp Vis Toolkit +by Andrew Mackowski +http://home.pacbell.net/mackowsk \ No newline at end of file diff --git a/Debian/README b/Debian/README new file mode 100644 index 0000000..02c989d --- /dev/null +++ b/Debian/README @@ -0,0 +1,23 @@ +============================================= +Debian 1.0 skin for XMMS + +Created by Jesper Schultz +Visit www.schultz-net.dk +Released Jan 25 2004 + +Graphics done in The Gimp 1.3.2 +Tested with XMMS 1.2.8 +============================================= + + +Installation +------------ +You should have received this file in a gzip'ed tar +archive named Debian.tar.gz. Simply copy or extract it +into your XMMS skins directory. + +Comments +-------- +Dedicated to Debian GNU/Linux ! + + diff --git a/Debian/balance.bmp b/Debian/balance.bmp new file mode 100644 index 0000000..7a0b05c Binary files /dev/null and b/Debian/balance.bmp differ diff --git a/Debian/cbuttons.bmp b/Debian/cbuttons.bmp new file mode 100644 index 0000000..1e5e524 Binary files /dev/null and b/Debian/cbuttons.bmp differ diff --git a/Debian/eq_ex.bmp b/Debian/eq_ex.bmp new file mode 100644 index 0000000..dfb5fc3 Binary files /dev/null and b/Debian/eq_ex.bmp differ diff --git a/Debian/eqmain.bmp b/Debian/eqmain.bmp new file mode 100644 index 0000000..41bae51 Binary files /dev/null and b/Debian/eqmain.bmp differ diff --git a/Debian/kjell-fatal.png b/Debian/kjell-fatal.png new file mode 100644 index 0000000..7fa0d38 Binary files /dev/null and b/Debian/kjell-fatal.png differ diff --git a/Debian/kjell-fatal2.png b/Debian/kjell-fatal2.png new file mode 100644 index 0000000..79582e0 Binary files /dev/null and b/Debian/kjell-fatal2.png differ diff --git a/Debian/kjell-fatal3.png b/Debian/kjell-fatal3.png new file mode 100644 index 0000000..95788c3 Binary files /dev/null and b/Debian/kjell-fatal3.png differ diff --git a/Debian/main.bmp b/Debian/main.bmp new file mode 100644 index 0000000..0fae590 Binary files /dev/null and b/Debian/main.bmp differ diff --git a/Debian/monoster.bmp b/Debian/monoster.bmp new file mode 100644 index 0000000..2311b2c Binary files /dev/null and b/Debian/monoster.bmp differ diff --git a/Debian/nums_ex.bmp b/Debian/nums_ex.bmp new file mode 100755 index 0000000..af6ddea Binary files /dev/null and b/Debian/nums_ex.bmp differ diff --git a/Debian/playpaus.bmp b/Debian/playpaus.bmp new file mode 100644 index 0000000..445e145 Binary files /dev/null and b/Debian/playpaus.bmp differ diff --git a/Debian/pledit.bmp b/Debian/pledit.bmp new file mode 100644 index 0000000..6a8db87 Binary files /dev/null and b/Debian/pledit.bmp differ diff --git a/Debian/pledit.txt b/Debian/pledit.txt new file mode 100644 index 0000000..2a03c84 --- /dev/null +++ b/Debian/pledit.txt @@ -0,0 +1,6 @@ +[Text] +Normal=#7ba7cd +Current=#999999 +NormalBG=#ccddec +SelectedBG=#eeeeee +Font=Helvetica diff --git a/Debian/posbar.bmp b/Debian/posbar.bmp new file mode 100644 index 0000000..b2fbfba Binary files /dev/null and b/Debian/posbar.bmp differ diff --git a/Debian/shufrep.bmp b/Debian/shufrep.bmp new file mode 100644 index 0000000..b4b7470 Binary files /dev/null and b/Debian/shufrep.bmp differ diff --git a/Debian/text.bmp b/Debian/text.bmp new file mode 100644 index 0000000..4f0f031 Binary files /dev/null and b/Debian/text.bmp differ diff --git a/Debian/titlebar.bmp b/Debian/titlebar.bmp new file mode 100644 index 0000000..86be89a Binary files /dev/null and b/Debian/titlebar.bmp differ diff --git a/Debian/viscolor.txt b/Debian/viscolor.txt new file mode 100644 index 0000000..7641db5 --- /dev/null +++ b/Debian/viscolor.txt @@ -0,0 +1,24 @@ +204,221,236 // [background color 1] +128,170,206 // [background color 2] +128,170,206 +128,170,206 +128,170,206 +128,170,206 +128,170,206 +128,170,206 +128,170,206 +128,170,206 +128,170,206 +128,170,206 +128,170,206 +128,170,206 +128,170,206 +128,170,206 +128,170,206 +128,170,206 +126,126,126 // [osc 1] +126,126,126 // [osc 2] +126,126,126 // [osc 3] +126,126,126 // [osc 4] +126,126,126 // [osc 5] +130,130,131 // [peak color] diff --git a/Debian/volume.bmp b/Debian/volume.bmp new file mode 100644 index 0000000..e5ae3f8 Binary files /dev/null and b/Debian/volume.bmp differ diff --git a/Display.cpp b/Display.cpp new file mode 100644 index 0000000..b67abba --- /dev/null +++ b/Display.cpp @@ -0,0 +1,45 @@ +#include "Display.h" + +SkinDisplay::SkinDisplay (QWidget *parent) : QWidget(parent) +{ + m_noDrag = false; + m_mw = parent; +} + +void +SkinDisplay::mousePressEvent (QMouseEvent *event) +{ + m_diffX = event->x(); + m_diffY = event->y(); +} + +void +SkinDisplay::mouseMoveEvent (QMouseEvent *event) +{ + if (!m_noDrag) { + m_mw->move(event->globalPos().x() - m_diffX, + event->globalPos().y() - m_diffY); + } +} + +void +SkinDisplay::enterEvent (QEvent *event) +{ + m_tbar->setActive(true); +} + +void +SkinDisplay::leaveEvent (QEvent *event) +{ + m_tbar->setActive(false); +} + +void +SkinDisplay::paintEvent (QPaintEvent *event) +{ + QPainter(paint); + + paint.begin(this); + paint.eraseRect(rect()); + paint.end(); +} diff --git a/Display.h b/Display.h new file mode 100644 index 0000000..4408f87 --- /dev/null +++ b/Display.h @@ -0,0 +1,45 @@ +#ifndef __SKINDISPLAY_H__ +#define __SKINDISPLAY_H__ + +#include + +#include +#include +#include +#include +#include +#include + +#include "MainWindow.h" +#include "TitleBar.h" + +using namespace std; + +class SkinDisplay : public QWidget +{ + Q_OBJECT + public: + SkinDisplay (QWidget *parent); + + bool getNoDrag() const { return m_noDrag; } + void setNoDrag(bool d) { m_noDrag = d; } + + QWidget *getMW() const { return m_mw; } + + protected: + void mousePressEvent (QMouseEvent *); + void mouseMoveEvent (QMouseEvent *); + void paintEvent (QPaintEvent *event); + void SkinDisplay::enterEvent (QEvent *event); + void SkinDisplay::leaveEvent (QEvent *event); + + QWidget *m_mw; + TitleBar *m_tbar; + + private: + bool m_noDrag; + int m_diffX; + int m_diffY; +}; + +#endif diff --git a/MainDisplay.cpp b/MainDisplay.cpp new file mode 100644 index 0000000..1de6a69 --- /dev/null +++ b/MainDisplay.cpp @@ -0,0 +1,78 @@ +#include "MainDisplay.h" +#include "TitleBar.h" +#include "TextBar.h" + +MainDisplay::MainDisplay (QWidget *parent) : SkinDisplay(parent) +{ + QPalette palette = QPalette(); + QBrush brush = QBrush(Qt::TexturePattern); + + brush.setTexture((((MainWindow *)m_mw)->getSkin()->getItem(Skin::MAIN_WINDOW))); + palette.setBrush(QPalette::Background, brush); + setPalette(palette); + + setMaximumSize(QSize(275, 116)); + setMinimumSize(QSize(275, 116)); + + m_tbar = new TitleBar(this, false); + m_tbar->move(0, 0); + m_tbar->resize(275, 14); + + SetupPushButtons (); + SetupToggleButtons (); + + m_text = new TextScroller (this, 154, 15); + m_text->move (109, 23); + +} + +void +MainDisplay::SetupToggleButtons (void) +{ + m_pls = new ToggleButton (this, Skin::PLS_ON_0, Skin::PLS_ON_1, + Skin::PLS_OFF_0, Skin::PLS_OFF_1); + m_pls->move(242, 58); + + m_eq = new ToggleButton (this, Skin::EQ_ON_0, Skin::EQ_ON_1, + Skin::EQ_OFF_0, Skin::EQ_OFF_1); + m_eq->move(219, 58); + + m_shuffle = new ToggleButton (this, Skin::SHUFFLE_ON_0, Skin::SHUFFLE_ON_1, + Skin::SHUFFLE_OFF_0, Skin::SHUFFLE_OFF_1); + m_shuffle->move(164, 89); + + m_repeat = new ToggleButton (this, Skin::REPEAT_ON_0, Skin::REPEAT_ON_1, + Skin::REPEAT_OFF_0, Skin::REPEAT_OFF_1); + m_repeat->move(210, 89); +} + +void +MainDisplay::SetupPushButtons (void) +{ + /* Normal buttons */ + m_prev = new Button (this, Skin::BTN_PREV_0, Skin::BTN_PREV_1); + m_prev->move(16, 88); + m_play = new Button (this, Skin::BTN_PLAY_0, Skin::BTN_PLAY_1); + m_play->move(39, 88); + m_pause = new Button (this, Skin::BTN_PAUSE_0, Skin::BTN_PAUSE_1); + m_pause->move(62, 88); + m_stop = new Button (this, Skin::BTN_STOP_0, Skin::BTN_STOP_1); + m_stop->move(85, 88); + m_next = new Button (this, Skin::BTN_NEXT_0, Skin::BTN_NEXT_1); + m_next->move(108, 88); + m_eject = new Button (this, Skin::BTN_EJECT_0, Skin::BTN_EJECT_1); + m_eject->move(136, 89); + + m_menubtn = new Button (this, Skin::MENUBUTTON_0, Skin::MENUBUTTON_1); + m_menubtn->move(6, 3); + m_minimize = new Button (this, Skin::MINIMIZE_0, Skin::MINIMIZE_1); + m_minimize->move(244, 3); + m_shadebtn = new Button (this, Skin::SHADE_1_0, Skin::SHADE_1_1); + m_shadebtn->move(254, 3); + m_closebtn = new Button (this, Skin::CLOSE_0, Skin::CLOSE_1); + m_closebtn->move(264, 3); +} + +MainDisplay::~MainDisplay (void) +{ +} diff --git a/MainDisplay.h b/MainDisplay.h new file mode 100644 index 0000000..20246c9 --- /dev/null +++ b/MainDisplay.h @@ -0,0 +1,49 @@ +#ifndef __MAINDISPLAY_H__ +#define __MAINDISPLAY_H__ + +#include + +#include +#include +#include +#include +#include +#include + +#include "Display.h" +#include "TitleBar.h" +#include "Button.h" +#include "TextBar.h" + +using namespace std; + +class MainDisplay : public SkinDisplay +{ + Q_OBJECT + public: + MainDisplay (QWidget *parent); + ~MainDisplay (); + protected: + void SetupPushButtons (void); + void MainDisplay::SetupToggleButtons (void); + + Button *m_prev; + Button *m_play; + Button *m_pause; + Button *m_stop; + Button *m_next; + Button *m_eject; + Button *m_shadebtn; + Button *m_menubtn; + Button *m_closebtn; + Button *m_minimize; + + ToggleButton *m_pls; + ToggleButton *m_eq; + ToggleButton *m_shuffle; + ToggleButton *m_repeat; + + TextScroller *m_text; +}; + +#endif diff --git a/MainWindow.cpp b/MainWindow.cpp new file mode 100644 index 0000000..4e9468c --- /dev/null +++ b/MainWindow.cpp @@ -0,0 +1,39 @@ +#include "MainWindow.h" +#include "MainDisplay.h" + +MainWindow::MainWindow () +{ + setWindowFlags(Qt::FramelessWindowHint); + setGeometry(100, 100, 275, 116); + + skin = new Skin("Debian"); + MainDisplay *display = new MainDisplay(this); + setCentralWidget(display); + display->show(); +} + +MainWindow::~MainWindow () +{ + delete skin; +} + +Skin *MainWindow::getSkin(void) +{ + return skin; +} + + +int main (int argc, char **argv) +{ + QApplication app(argc, argv); + + /* + xmmsc_connection_t *xmmsc = xmmsc_init ("coolness"); + xmmsc_connect (xmmsc, "unix:///tmp/xmms-ipc-nano"); + + XmmsQT4 *c = new XmmsQT4(xmmsc, &app);*/ + MainWindow *mw = new MainWindow(); + mw->show(); + + return app.exec(); +} diff --git a/MainWindow.h b/MainWindow.h new file mode 100644 index 0000000..1cedf46 --- /dev/null +++ b/MainWindow.h @@ -0,0 +1,31 @@ +#ifndef __MAINWINDOW_H__ +#define __MAINWINDOW_H__ + +#include + +#include +#include +#include +#include +#include + +#include + +#include "Skin.h" +#include "XmmsQT4.h" + + +using namespace std; + +class MainWindow : public QMainWindow +{ + Q_OBJECT + public: + MainWindow(void); + ~MainWindow(void); + Skin *getSkin(void); + private: + Skin *skin; +}; + +#endif diff --git a/PixWidget.cpp b/PixWidget.cpp new file mode 100644 index 0000000..4272e26 --- /dev/null +++ b/PixWidget.cpp @@ -0,0 +1,31 @@ +#include "PixWidget.h" + + +PixWidget::PixWidget (QWidget *parent) : QWidget (parent) +{ + m_pixmap = QPixmap(0,0); +} + + +PixWidget::~PixWidget () +{ +} + + +/* + * Since almost every Widget I have here + * is done by drawing self.pixmap onto self + * we define this a generic PaintEvent handler + */ +void +PixWidget::paintEvent (QPaintEvent *event) +{ + if (m_pixmap.isNull () || !m_pixmap) { + return; + } + + QPainter (paint); + paint.begin (this); + paint.drawPixmap (rect (), m_pixmap, m_pixmap.rect ()); + paint.end (); +} diff --git a/PixWidget.h b/PixWidget.h new file mode 100644 index 0000000..6593d6c --- /dev/null +++ b/PixWidget.h @@ -0,0 +1,22 @@ +#ifndef __PIXWIDGET_H__ +#define __PIXWIDGET_H__ + +#include + +#include +#include +#include + + +class PixWidget : public QWidget +{ + Q_OBJECT + public: + PixWidget(QWidget *parent = 0); + ~PixWidget(); + void paintEvent (QPaintEvent *event); + protected: + QPixmap m_pixmap; +}; + +#endif diff --git a/Skin.cpp b/Skin.cpp new file mode 100644 index 0000000..feb7d10 --- /dev/null +++ b/Skin.cpp @@ -0,0 +1,257 @@ +#include "Skin.h" + + +Skin::Skin (string m_skinname) : m_skinname (m_skinname) +{ + m_path = QString ("./CleanAMP/"); + + m_items = new QHash; + m_volume_bar = new QHash; + m_balance = new QHash; + + BuildLetterMap(); + BuildButtons(); + BuildToggleButtons(); + BuildSliders(); + BuildOther(); + BuildTitleBar(); +} + + +Skin::~Skin () +{ +} + +QPixmap *Skin::GetPixmap (string file) +{ + /* check for files in zip and check if file exists */ + + QDir dir; + QString f = QString::fromStdString (file); + + dir.setPath (m_path); + dir.setFilter (QDir::Files); + + QFileInfoList list = dir.entryInfoList(); + for (int i = 0; i < list.size(); ++i) { + QFileInfo fileInfo = list.at(i); + if (fileInfo.fileName().toLower() == f) { + return new QPixmap (fileInfo.filePath()); + } + } + + return NULL; + + /*return new QPixmap ((m_path+file).c_str());*/ +} + +void Skin::BuildToggleButtons (void) +{ + QPixmap *img = GetPixmap("shufrep.bmp"); + + m_items->insert(REPEAT_ON_0, img->copy(0, 30, 28, 15)); + m_items->insert(REPEAT_ON_1, img->copy(0, 45, 28, 15)); + + m_items->insert(REPEAT_OFF_0, img->copy(0, 0, 28, 15)); + m_items->insert(REPEAT_OFF_1, img->copy(0, 15, 28, 15)); + + m_items->insert(SHUFFLE_ON_0, img->copy(28, 30, 46, 15)); + m_items->insert(SHUFFLE_ON_1, img->copy(28, 45, 46, 15)); + + m_items->insert(SHUFFLE_OFF_0, img->copy(28, 0, 46, 15)); + m_items->insert(SHUFFLE_OFF_1, img->copy(28, 15, 46, 15)); + + m_items->insert(EQ_ON_0, img->copy( 0, 73, 23, 12)); + m_items->insert(EQ_ON_1, img->copy(46, 73, 23, 12)); + + m_items->insert(EQ_OFF_0, img->copy( 0, 61, 23, 12)); + m_items->insert(EQ_OFF_1, img->copy(46, 61, 23, 12)); + + m_items->insert(PLS_ON_0, img->copy(23, 73, 23, 12)); + m_items->insert(PLS_ON_1, img->copy(69, 73, 23, 12)); + + m_items->insert(PLS_OFF_0, img->copy(23, 61, 23, 12)); + m_items->insert(PLS_OFF_1, img->copy(69, 61, 23, 12)); + + delete img; +} + +void Skin::BuildSliders (void) +{ + QPixmap *img; + + img = GetPixmap("volume.bmp"); + for (int i = VOLUMEBAR_POS_MIN; i < VOLUMEBAR_POS_MAX; i++) { + m_volume_bar->insert(i, img->copy(0, i*15, 68, 13)); + } + delete img; + + img = GetPixmap("balance.bmp"); + if (!img) { + img = GetPixmap("volume.bmp"); + } + + for (int i = BALANCE_POS_MIN; i < BALANCE_POS_MAX; i++) { + m_balance->insert(i, img->copy(9, i*15, 38, 13)); + } + delete img; +} + +void Skin::BuildTitleBar (void) +{ + QPixmap *img = GetPixmap("titlebar.bmp"); + + m_items->insert(MENUBUTTON_0, img->copy(0, 0, 9, 9)); + m_items->insert(MENUBUTTON_1, img->copy(0, 9, 9, 9)); + + m_items->insert(MINIMIZE_0, img->copy(9, 0, 9, 9)); + m_items->insert(MINIMIZE_1, img->copy(9, 9, 9, 9)); + + m_items->insert(CLOSE_0, img->copy(18, 0, 9, 9)); + m_items->insert(CLOSE_1, img->copy(18, 9, 9 ,9)); + + m_items->insert(SHADE_1_0, img->copy(0, 18, 9, 9)); + m_items->insert(SHADE_1_1, img->copy(9, 18, 9, 9)); + + m_items->insert(SHADE_2_0, img->copy(0, 27, 9, 9)); + m_items->insert(SHADE_2_1, img->copy(9, 27, 9, 9)); + + m_items->insert(TITLEBAR_0, img->copy(27, 0, 275, 14)); + m_items->insert(TITLEBAR_1, img->copy(27, 15, 275, 14)); + + m_items->insert(STATUSBAR_0, img->copy(27, 29, 275, 14)); + m_items->insert(STATUSBAR_1, img->copy(27, 29+13, 275, 14)); + + delete img; +} + + +void Skin::BuildButtons (void) +{ + QPixmap *img = GetPixmap("cbuttons.bmp"); + + m_items->insert (BTN_PREV_0, img->copy(0, 0, 23, 18)); + m_items->insert (BTN_PREV_1, img->copy(0, 18, 23, 18)); + + m_items->insert (BTN_PLAY_0, img->copy(23, 0, 23, 18)); + m_items->insert (BTN_PLAY_1, img->copy(23, 18, 23, 18)); + + m_items->insert (BTN_PAUSE_0, img->copy(46, 0, 23, 18)); + m_items->insert (BTN_PAUSE_1, img->copy(46, 18, 23, 18)); + + m_items->insert (BTN_STOP_0, img->copy(69, 0, 23, 18)); + m_items->insert (BTN_STOP_1, img->copy(69, 18, 23, 18)); + + m_items->insert (BTN_NEXT_0, img->copy(92, 0, 22, 18)); + m_items->insert (BTN_NEXT_1, img->copy(92, 18, 22, 18)); + + m_items->insert (BTN_EJECT_0, img->copy(114, 0, 22, 16)); + m_items->insert (BTN_EJECT_1, img->copy(114, 16, 22, 16)); + + delete img; +} + +void Skin::BuildOther (void) +{ + QPixmap *img; + QPainter(painter); + + img = GetPixmap("monoster.bmp"); + + m_items->insert (MONO_0, img->copy(29, 0, 27, 12)); + m_items->insert (MONO_1, img->copy(29, 12, 27, 12)); + + m_items->insert (STEREO_0, img->copy(0, 0, 29, 12)); + m_items->insert (STEREO_1, img->copy(0, 12, 29, 12)); + + /* + img = GetPixmap("playpaus.bmp"); + + m_pic_play = new QPixmap(11, 9); + painter.begin(m_pic_play); + painter.drawPixmap (0, 0, 3, 9, *img, 36, 0, 3, 9); + painter.drawPixmap (3, 0, 8, 9, *img, 1, 0, 8, 9); + painter.end(); + + m_pic_pause = new QPixmap(11, 9); + painter.begin(m_pic_pause); + painter.drawPixmap (0, 0, 2, 9, *img, 27, 0, 2, 9); + painter.drawPixmap (2, 0, 9, 9, *img, 9, 0, 9, 9); + painter.end(); + + m_pic_stop = new QPixmap(11, 9); + painter.begin(m_pic_stop); + painter.drawPixmap (0, 0, 2, 9, *img, 27, 0, 2, 9); + painter.drawPixmap (2, 0, 9, 9, *img, 18, 0, 9, 9); + painter.end(); + */ + + img = GetPixmap ("main.bmp"); + m_items->insert (MAIN_WINDOW, img->copy()); + m_items->insert (ABOUT_0, img->copy(247, 83, 20, 25)); + m_items->insert (ABOUT_1, img->copy(247, 83, 20, 24)); + delete img; +} + + +void Skin::BuildLetterMap (void) +{ + QPixmap *img = GetPixmap("text.bmp"); + + QList >(letters); + for (int i = 0; i < 3; i++) { + QList(l); + for (int j = 0; j < 31; j++) { + l.append(img->copy(j*5, i*6, 4, 6)); + } + letters.append(l); + } + + delete img; + + m_letterMap = new QHash; + + /* alphabet */ + for (uint i = 97; i < 123; i++) { + m_letterMap->insert(i, letters[0][i-97]); + } + + /* digits */ + for (uint i = 0; i <= 9; i++) { + m_letterMap->insert(i+48, letters[1][i]); + } + + /* special characters */ + m_letterMap->insert('"', letters[0][27]); + m_letterMap->insert('@', letters[0][28]); + m_letterMap->insert('(', letters[1][13]); + m_letterMap->insert(')', letters[1][14]); + m_letterMap->insert('-', letters[1][15]); + m_letterMap->insert('\'', letters[1][16]); + m_letterMap->insert('`', letters[1][16]); + m_letterMap->insert('!', letters[1][17]); + m_letterMap->insert('_', letters[1][18]); + m_letterMap->insert('+', letters[1][19]); + m_letterMap->insert('\\', letters[1][20]); + m_letterMap->insert('/', letters[1][21]); + m_letterMap->insert('[', letters[1][22]); + m_letterMap->insert(']', letters[1][23]); + m_letterMap->insert('^', letters[1][24]); + m_letterMap->insert('&', letters[1][25]); + m_letterMap->insert('%', letters[1][26]); + m_letterMap->insert('.', letters[1][27]); + m_letterMap->insert(',', letters[1][27]); + m_letterMap->insert('=', letters[1][28]); + m_letterMap->insert('$', letters[1][29]); + m_letterMap->insert('#', letters[1][30]); + + m_letterMap->insert(229, letters[2][0]); + m_letterMap->insert(246, letters[2][1]); + m_letterMap->insert(228, letters[2][2]); + m_letterMap->insert('?', letters[2][3]); + m_letterMap->insert('*', letters[2][4]); + m_letterMap->insert(' ', letters[2][5]); + + /* text background */ + m_items->insert (TEXTBG, letters[2][6]); +} diff --git a/Skin.h b/Skin.h new file mode 100644 index 0000000..fac864d --- /dev/null +++ b/Skin.h @@ -0,0 +1,200 @@ +#ifndef __SKIN_H__ +#define __SKIN_H__ + +#include + +#include +#include +#include +#include +#include + +using namespace std; + +class Skin : public QWidget +{ + Q_OBJECT + public: + Skin(string m_skinname); + ~Skin(); + QPixmap *Pixmap (string file); + void Parse (string file); + QPixmap *Skin::GetPixmap (string file); + void BuildLetterMap (void); + void BuildButtons (void); + void BuildToggleButtons (void); + void BuildTitleBar (void); + void BuildSliders (void); + void BuildOther (void); + + const QPixmap getItem (uint part) const { return m_items->value(part); } + const QPixmap getVol (uint p) const { return m_volume_bar->value(p); } + const QPixmap getBal (uint p) const { return m_balance->value(p); } + const QPixmap getLetter (uint c) { return m_letterMap->value(c); } + + enum Volume { + VOLUMEBAR_POS_MIN, + VOLUMEBAR_POS_1, + VOLUMEBAR_POS_2, + VOLUMEBAR_POS_3, + VOLUMEBAR_POS_4, + VOLUMEBAR_POS_5, + VOLUMEBAR_POS_6, + VOLUMEBAR_POS_7, + VOLUMEBAR_POS_8, + VOLUMEBAR_POS_9, + VOLUMEBAR_POS_10, + VOLUMEBAR_POS_11, + VOLUMEBAR_POS_12, + VOLUMEBAR_POS_13, + VOLUMEBAR_POS_14, + VOLUMEBAR_POS_15, + VOLUMEBAR_POS_16, + VOLUMEBAR_POS_17, + VOLUMEBAR_POS_18, + VOLUMEBAR_POS_19, + VOLUMEBAR_POS_20, + VOLUMEBAR_POS_21, + VOLUMEBAR_POS_22, + VOLUMEBAR_POS_23, + VOLUMEBAR_POS_24, + VOLUMEBAR_POS_25, + VOLUMEBAR_POS_26, + VOLUMEBAR_POS_MAX + }; + + enum Balance { + BALANCE_POS_MIN, + BALANCE_POS_1, + BALANCE_POS_2, + BALANCE_POS_3, + BALANCE_POS_4, + BALANCE_POS_5, + BALANCE_POS_6, + BALANCE_POS_7, + BALANCE_POS_8, + BALANCE_POS_9, + BALANCE_POS_10, + BALANCE_POS_11, + BALANCE_POS_12, + BALANCE_POS_13, + BALANCE_POS_14, + BALANCE_POS_15, + BALANCE_POS_16, + BALANCE_POS_17, + BALANCE_POS_18, + BALANCE_POS_19, + BALANCE_POS_20, + BALANCE_POS_21, + BALANCE_POS_22, + BALANCE_POS_23, + BALANCE_POS_24, + BALANCE_POS_25, + BALANCE_POS_26, + BALANCE_POS_MAX + }; + + enum Part { + MAIN_WINDOW, + ABOUT_0, + ABOUT_1, + MONO_0, + MONO_1, + STEREO_0, + STEREO_1, + MENUBUTTON_0, + MENUBUTTON_1, + MINIMIZE_0, + MINIMIZE_1, + CLOSE_0, + CLOSE_1, + SHADE_1_0, + SHADE_1_1, + SHADE_2_0, + SHADE_2_1, + TITLEBAR_0, + TITLEBAR_1, + STATUSBAR_0, + STATUSBAR_1, + SEEKBAR, + SEEKBAR_POS_0, + SEEKBAR_POS_1, + REPEAT_ON_0, + REPEAT_ON_1, + REPEAT_OFF_0, + REPEAT_OFF_1, + SHUFFLE_ON_0, + SHUFFLE_ON_1, + SHUFFLE_OFF_0, + SHUFFLE_OFF_1, + EQ_ON_0, + EQ_ON_1, + EQ_OFF_0, + EQ_OFF_1, + PLS_ON_0, + PLS_ON_1, + PLS_OFF_0, + PLS_OFF_1, + BTN_PREV_0, + BTN_PREV_1, + BTN_PLAY_0, + BTN_PLAY_1, + BTN_PAUSE_0, + BTN_PAUSE_1, + BTN_STOP_0, + BTN_STOP_1, + BTN_NEXT_0, + BTN_NEXT_1, + BTN_EJECT_0, + BTN_EJECT_1, + TEXTBG + }; + private: + string m_skinname; + QString m_path; + + /* titlebar pixmaps */ + QPixmap *m_textbg; + QPixmap *m_menubutton; + QPixmap *m_minimize; + QPixmap *m_close; + QPixmap *m_shade; + QPixmap *m_shade2; + QPixmap *m_titlebar; + QPixmap *m_statusbar; + + /* toggle buttons */ + QPixmap *m_repeat_on; + QPixmap *m_repeat_off; + QPixmap *m_shuffle_on; + QPixmap *m_shuffle_off; + QPixmap *m_eq_on; + QPixmap *m_eq_off; + QPixmap *m_pls_on; + QPixmap *m_pls_off; + + /* sliders */ + QPixmap *m_seekbar; + QPixmap *m_seekbar_pos; + QPixmap *m_volume; + + /* other */ + QPixmap *m_mono; + QPixmap *m_stereo; + QPixmap *m_mainwin; + QPixmap m_about[2]; + QPixmap *m_pic_play; + QPixmap *m_pic_pause; + QPixmap *m_pic_stop; + + /* numbers */ + QPixmap *m_numbers; + + QHash *m_items; + QHash *m_letterMap; + QHash *m_volume_bar; + QHash *m_balance; + QList m_buttons; +}; + +#endif diff --git a/TextBar.cpp b/TextBar.cpp new file mode 100644 index 0000000..c106f16 --- /dev/null +++ b/TextBar.cpp @@ -0,0 +1,135 @@ +#include "MainWindow.h" +#include "Display.h" +#include "TextBar.h" + +TextScroller::TextScroller (QWidget *parent, uint w, uint h) : QWidget (parent) +{ + + MainWindow *mw = (MainWindow *)((SkinDisplay *)parent)->getMW(); + + m_h = h; + m_w = w; + m_x_off = 0; + m_x2_off = 0; + m_skin = mw->getSkin (); + + setMinimumSize(m_w + 2, m_h); + setMaximumSize(m_w + 2, m_h); + + if (m_h > 10) { + m_y = 4; + } else { + m_y = 0; + } + + m_timer = new QTimer (this); + connect (m_timer, SIGNAL (timeout()), this, SLOT (addOffset ())); + + QPalette pal = palette (); + QBrush b = QBrush (Qt::TexturePattern); + b.setTexture (mw->getSkin ()->getItem (Skin::TEXTBG)); + pal.setBrush (QPalette::Window, b); + setPalette (pal); + + setAutoFillBackground (true); + + setText (QString::fromUtf8 ("Promoe 0.1")); + + //setText (QString::fromUtf8 ("Okerueu etuoduÃ¥ öästö Ã¥ntöå dS !! !¤ ¤ % % & & ¤")); + +} + +void +TextScroller::addOffset () +{ + + if (m_x2_off > 0) { + m_x2_off --; + } else if (m_x_off < m_pixmap.size().width()) { + m_x_off ++; + } else { + m_x_off = 1; + m_x2_off = 0; + } + + update(); + m_timer->start (40); +} + +void +TextScroller::setText (const QString &text) +{ + drawBitmapFont (text); +} + +void +TextScroller::drawBitmapFont (const QString &text) +{ + int width = text.length() * 6; + QString (temp) = text.toLower (); + + if (width > m_w) { + temp += QString::fromAscii (" -- "); + m_x2_off = m_w / 2; + m_pixmap = QPixmap (width + 6*6, m_h); + m_timer->start (40); + } else { + m_pixmap = QPixmap (m_w, m_h); + } + const char *t = temp.toLatin1(); + + QPainter (paint); + + paint.begin (&m_pixmap); + paint.fillRect (m_pixmap.rect(), Qt::white); + for (uint i = 0; i < strlen (t); i++) { + QPixmap p = m_skin->getLetter (t[i]); + if (!p) { + p = m_skin->getLetter(' '); + } + + paint.drawPixmap (QRect (i * 6, m_y, 4, 6), + p, p.rect()); + } + + paint.end(); + m_pixmap.setMask (m_pixmap.createHeuristicMask ()); + +} + +void +TextScroller::drawQtFont (const QString &text) +{ +} + +void +TextScroller::paintEvent (QPaintEvent *event) +{ + int pad = 0; + + if (m_pixmap.isNull ()) { + return; + } + + int w2 = m_pixmap.size().width() - m_x_off; + if (w2 < m_w) { + pad = m_w - w2; + } + + QPainter (paint); + paint.begin (this); + paint.drawPixmap (QRect (m_x2_off, 0, m_w - pad, m_h), + m_pixmap, + QRect (m_x_off, 0, m_w, m_h)); + if (pad) { + paint.drawPixmap (QRect (m_w - pad, 0, pad, m_h), + m_pixmap, + QRect (0, 0, pad, m_h)); + } + paint.end (); +} + +TextScroller::~TextScroller () +{ +} + diff --git a/TextBar.h b/TextBar.h new file mode 100644 index 0000000..18fa0fc --- /dev/null +++ b/TextBar.h @@ -0,0 +1,49 @@ +#ifndef __TEXTBOX_H__ +#define __TEXTBOX_H__ + +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "Skin.h" + +class TextScroller : public QWidget +{ + Q_OBJECT + + public: + TextScroller (QWidget *parent, uint, uint); + ~TextScroller (); + + void setText(const QString &text); + + public slots: + void addOffset (); + + protected: + QPixmap m_pixmap; + void paintEvent (QPaintEvent *event); + + private: + int m_w; + int m_h; + int m_y; + int m_x_off; + int m_x2_off; + + QTimer *m_timer; + + Skin *m_skin; + + void drawBitmapFont (const QString &text); + void drawQtFont (const QString &text); +}; + +#endif diff --git a/TitleBar.cpp b/TitleBar.cpp new file mode 100644 index 0000000..dcfc9de --- /dev/null +++ b/TitleBar.cpp @@ -0,0 +1,49 @@ +#include "TitleBar.h" +#include "MainWindow.h" +#include "Display.h" + +TitleBar::TitleBar (QWidget *parent, bool shaded) : PixWidget (parent) +{ + MainWindow *mw = (MainWindow *)((SkinDisplay *)parent)->getMW(); + + if (shaded) { + m_pixmap_active = mw->getSkin()->getItem(Skin::STATUSBAR_0); + m_pixmap_inactive = mw->getSkin()->getItem(Skin::STATUSBAR_1); + } else { + m_pixmap_active = mw->getSkin()->getItem(Skin::TITLEBAR_0); + m_pixmap_inactive = mw->getSkin()->getItem(Skin::TITLEBAR_1); + } + + + if (underMouse()) { + m_pixmap = m_pixmap_active; + } else { + m_pixmap = m_pixmap_inactive; + } + + qDebug("%d %d", m_pixmap.width(), m_pixmap.height()); + + setMinimumSize(QSize(275, 14)); + setMaximumSize(QSize(275, 14)); +} + +TitleBar::~TitleBar () +{ +} + +void +TitleBar::setActive (bool active) +{ + if (active) { + m_pixmap = m_pixmap_active; + update(); + } else { + m_pixmap = m_pixmap_inactive; + update(); + } +} + +void +TitleBar::mouseDoubleClickEvent (QMouseEvent *event) +{ +} diff --git a/TitleBar.h b/TitleBar.h new file mode 100644 index 0000000..3dd3c77 --- /dev/null +++ b/TitleBar.h @@ -0,0 +1,23 @@ +#ifndef __TITLEBAR_H__ +#define __TITLEBAR_H__ + +#include +#include "PixWidget.h" + +using namespace std; + +class TitleBar : public PixWidget +{ + Q_OBJECT + public: + TitleBar (QWidget *parent, bool shaded); + ~TitleBar (); + void setActive (bool active); + protected: + void mouseDoubleClickEvent (QMouseEvent *event); + private: + QPixmap m_pixmap_active; + QPixmap m_pixmap_inactive; +}; + +#endif diff --git a/XmmsQT4.cpp b/XmmsQT4.cpp new file mode 100644 index 0000000..cc7de3d --- /dev/null +++ b/XmmsQT4.cpp @@ -0,0 +1,68 @@ +#include "XmmsQT4.h" + +using namespace std; + +static void CheckWrite (int i, void *userdata); + +XmmsQT4::XmmsQT4 (xmmsc_connection_t *xmmsc, QObject *parent) : QObject (parent) +{ + m_xmmsc = xmmsc; + + m_fd = xmmsc_io_fd_get (xmmsc); + xmmsc_io_need_out_callback_set (xmmsc, CheckWrite, this); + + m_rsock = new QSocketNotifier (m_fd, QSocketNotifier::Read, this); + connect (m_rsock, SIGNAL (activated (int)), SLOT (OnRead ())); + m_rsock->setEnabled (false); + + m_wsock = new QSocketNotifier (m_fd, QSocketNotifier::Write, this); + connect (m_wsock, SIGNAL (activated (int)), SLOT (OnWrite ())); + m_wsock->setEnabled (false); +} + + +XmmsQT4::~XmmsQT4 () +{ + delete m_rsock; + delete m_wsock; +} + + +xmmsc_connection_t *XmmsQT4::GetXmmsConnection () +{ + return m_xmmsc; +} + + +void XmmsQT4::OnRead () +{ + if (!xmmsc_io_in_handle (m_xmmsc)) { + return; /* exception? */ + } +} + + +void XmmsQT4::OnWrite () +{ + if (!xmmsc_io_out_handle (m_xmmsc)) { + return; /* exception? */ + } +} + +void XmmsQT4::ToggleWrite (bool toggle) +{ + m_wsock->setEnabled (toggle); +} + +static void CheckWrite (int i, void *userdata) +{ + XmmsQT4 *obj = (XmmsQT4 *) userdata; + xmmsc_connection_t *xmmsc = obj->GetXmmsConnection(); + + if (xmmsc_io_want_out (xmmsc)) { + obj->ToggleWrite (true); + } else { + obj->ToggleWrite (false); + } +} + diff --git a/XmmsQT4.h b/XmmsQT4.h new file mode 100644 index 0000000..6377e01 --- /dev/null +++ b/XmmsQT4.h @@ -0,0 +1,34 @@ +#ifndef __XMMSQT4_H__ +#define __XMMSQT4_H__ + +#include + +#include +#include +#include + +#include + + +class XmmsQT4 : public QObject +{ + Q_OBJECT + public: + XmmsQT4(xmmsc_connection_t *xmmsc = 0, QObject *parent = 0); + ~XmmsQT4(); + + void ToggleWrite(bool toggle); + xmmsc_connection_t *GetXmmsConnection(); + + public slots: + void OnRead (); + void OnWrite (); + + private: + int m_fd; + QSocketNotifier *m_rsock; + QSocketNotifier *m_wsock; + xmmsc_connection_t *m_xmmsc; +}; + +#endif diff --git a/promoe.pro b/promoe.pro new file mode 100644 index 0000000..a620691 --- /dev/null +++ b/promoe.pro @@ -0,0 +1,6 @@ +SOURCES += XmmsQT4.cpp PixWidget.cpp Skin.cpp MainWindow.cpp Display.cpp MainDisplay.cpp TitleBar.cpp Button.cpp TextBar.cpp +HEADERS += XmmsQT4.h PixWidget.h Skin.h MainWindow.h Display.h MainDisplay.h TitleBar.h Button.h TextBar.h +CONFIG += link_pkgconfig +CONFIG += debug +QMAKE_CFLAGS_WARN_OFF += -Wno-unused-parameter +PKGCONFIG += xmms2-client