From: Jean-Baptiste Kempf Date: Mon, 17 Sep 2007 16:56:44 +0000 (+0000) Subject: Qt4 - VLM dialog improvements by JF Massol. X-Git-Tag: 0.9.0-test0~5514 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=0d41ec4cbbca945805f6f2c48b7da610974054be;p=vlc Qt4 - VLM dialog improvements by JF Massol. --- diff --git a/modules/gui/qt4/dialogs/vlm.cpp b/modules/gui/qt4/dialogs/vlm.cpp index 43f3bca2a6..3c972a8525 100644 --- a/modules/gui/qt4/dialogs/vlm.cpp +++ b/modules/gui/qt4/dialogs/vlm.cpp @@ -30,6 +30,18 @@ #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include VLMDialog *VLMDialog::instance = NULL; @@ -38,13 +50,140 @@ VLMDialog::VLMDialog( intf_thread_t *_p_intf) : QVLCFrame( _p_intf ) { setWindowTitle( qtr( "VLM front-end" ) ); - /* UI stuff */ + // UI stuff ui.setupUi( this ); + mediatype = new QComboBox(ui.groupBox); + layout = new QVBoxLayout(ui.groupBox); + layout->addWidget(mediatype); + +#define ADDMEDIATYPES(type) mediatype->addItem(type); + + ADDMEDIATYPES("Broadcast"); + ADDMEDIATYPES("Video On Demand (VOD)"); + ADDMEDIATYPES("Schedule"); + + makeBcastPage(); + makeVODPage(); + makeSchedulePage(); + + slayout = new QStackedWidget(ui.groupBox); + slayout->addWidget(pBcast); + slayout->addWidget(pVod); + slayout->addWidget(pSchedule); + + layout->addWidget(slayout); + + connect(mediatype,SIGNAL(currentIndexChanged(int)),slayout,SLOT(setCurrentIndex(int))); + } VLMDialog::~VLMDialog(){} -void VLMDialog::close(){ +void VLMDialog::close() +{ close(); } + +void VLMDialog::makeBcastPage() +{ + pBcast = new QWidget(ui.groupBox); + bcastlayout = new QGridLayout(pBcast); + bcastname = new QLabel(tr("Name :"),pBcast); + bcastnameledit = new QLineEdit(pBcast); + bcastenable = new QCheckBox(tr("Enable"),pBcast); + bcastinput = new QLabel(tr("Input :"),pBcast); + bcastinputledit = new QLineEdit(pBcast); + bcastinputtbutton = new QToolButton(pBcast); + bcastoutput = new QLabel(tr("Output :"),pBcast); + bcastoutputledit = new QLineEdit(pBcast); + bcastoutputtbutton = new QToolButton(pBcast); + bcastcontrol = new QGroupBox(tr("Controls"),pBcast); + bcastgbox = new QHBoxLayout(bcastcontrol); + bcastplay = new QPushButton(tr("Play"),bcastcontrol); + bcastpause = new QPushButton(tr("Pause"),bcastcontrol); + bcaststop = new QPushButton(tr("Stop"),bcastcontrol); + bcastadd = new QPushButton(tr("Add"),pBcast); + bcastremove = new QPushButton(tr("Remove"),pBcast); + +// Adding all widgets in the QGridLayout + bcastgbox->addWidget(bcastplay); + bcastgbox->addWidget(bcastpause); + bcastgbox->addWidget(bcaststop); + bcastlayout->addWidget(bcastname,0,0); + bcastlayout->addWidget(bcastnameledit,0,1); + bcastlayout->addWidget(bcastenable,0,2); + bcastlayout->addWidget(bcastinput,1,0); + bcastlayout->addWidget(bcastinputledit,1,1); + bcastlayout->addWidget(bcastinputtbutton,1,2); + bcastlayout->addWidget(bcastoutput,2,0); + bcastlayout->addWidget(bcastoutputledit,2,1); + bcastlayout->addWidget(bcastoutputtbutton,2,2); + bcastlayout->addWidget(bcastcontrol,3,0,1,3); + bcastlayout->addWidget(bcastadd,4,1); + bcastlayout->addWidget(bcastremove,4,2); +} + +void VLMDialog::makeVODPage() +{ + pVod = new QWidget(ui.groupBox); + vodlayout = new QGridLayout(pVod); + vodname = new QLabel(tr("Name :"),pVod); + vodnameledit = new QLineEdit(pVod); + vodenable = new QCheckBox(tr("Enable"),pVod); + vodinput = new QLabel(tr("Input :"),pVod); + vodinputledit = new QLineEdit(pVod); + vodinputtbutton = new QToolButton(pVod); + vodoutput = new QLabel(tr("Output :"),pVod); + vodoutputledit = new QLineEdit(pVod); + vodoutputtbutton = new QToolButton(pVod); + vodadd = new QPushButton(tr("Add"),pVod); + vodremove = new QPushButton(tr("Remove"),pVod); + +// Adding all widgets in the QGridLayout + vodlayout->addWidget(vodname,0,0); + vodlayout->addWidget(vodnameledit,0,1); + vodlayout->addWidget(vodenable,0,2); + vodlayout->addWidget(vodinput,1,0); + vodlayout->addWidget(vodinputledit,1,1); + vodlayout->addWidget(vodinputtbutton,1,2); + vodlayout->addWidget(vodoutput,2,0); + vodlayout->addWidget(vodoutputledit,2,1); + vodlayout->addWidget(vodoutputtbutton,2,2); + vodlayout->addWidget(vodadd,3,1); + vodlayout->addWidget(vodremove,3,2); +} + +void VLMDialog::makeSchedulePage() +{ + pSchedule = new QWidget(ui.groupBox); + schelayout = new QGridLayout(pSchedule); + schename = new QLabel(tr("Name :"),pSchedule); + schenameledit = new QLineEdit(pSchedule); + scheenable = new QCheckBox(tr("Enable"),pSchedule); + scheinput = new QLabel(tr("Input :"),pSchedule); + scheinputledit = new QLineEdit(pSchedule); + scheinputtbutton = new QToolButton(pSchedule); + scheoutput = new QLabel(tr("Output :"),pSchedule); + scheoutputledit = new QLineEdit(pSchedule); + scheoutputtbutton = new QToolButton(pSchedule); + schecontrol = new QGroupBox(tr("Time Control"),pSchedule); + scheadd = new QPushButton(tr("Add"),pSchedule); + scheremove = new QPushButton(tr("Remove"),pSchedule); + + //scheadd->setMaximumWidth(30); + +// Adding all widgets in the QGridLayout + schelayout->addWidget(schename,0,0); + schelayout->addWidget(schenameledit,0,1); + schelayout->addWidget(scheenable,0,2); + schelayout->addWidget(scheinput,1,0); + schelayout->addWidget(scheinputledit,1,1); + schelayout->addWidget(scheinputtbutton,1,2); + schelayout->addWidget(scheoutput,2,0); + schelayout->addWidget(scheoutputledit,2,1); + schelayout->addWidget(scheoutputtbutton,2,2); + schelayout->addWidget(schecontrol,3,0,1,3); + schelayout->addWidget(scheadd,4,1); + schelayout->addWidget(scheremove,4,2); +} diff --git a/modules/gui/qt4/dialogs/vlm.hpp b/modules/gui/qt4/dialogs/vlm.hpp index 65c8fb9582..70134d51a4 100644 --- a/modules/gui/qt4/dialogs/vlm.hpp +++ b/modules/gui/qt4/dialogs/vlm.hpp @@ -5,6 +5,7 @@ * $Id: vlm.hpp 21875 2007-09-08 16:01:33Z jb $ * * Authors: Jean-François Massol + * Jean-Baptiste Kempf * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -29,6 +30,18 @@ #include "ui/vlm.h" #include "util/qvlcframe.hpp" +class QComboBox; +class QVBoxLayout; +class QStackedWidget; +class QLabel; +class QWidget; +class QGridLayout; +class QLineEdit; +class QCheckBox; +class QToolButton; +class QGroupBox; +class QPushButton; +class QHBoxLayout; class VLMDialog : public QVLCFrame { @@ -47,6 +60,27 @@ private: static VLMDialog *instance; Ui::Vlm ui; + void makeBcastPage(); + void makeVODPage(); + void makeSchedulePage(); + + QComboBox *mediatype; + QVBoxLayout *layout; + QHBoxLayout *bcastgbox; + QStackedWidget *slayout; + QWidget *pBcast, *pVod, *pSchedule; + QGridLayout *bcastlayout, *vodlayout, *schelayout; + QLabel *bcastname, *vodname, *schename,*bcastinput, *vodinput, *scheinput; + QLabel *bcastoutput, *vodoutput, *scheoutput; + QCheckBox *bcastenable, *vodenable, *scheenable; + QLineEdit *bcastnameledit, *vodnameledit, *schenameledit, *bcastinputledit, *vodinputledit, *scheinputledit; + QLineEdit *bcastoutputledit, *vodoutputledit, *scheoutputledit; + QToolButton *bcastinputtbutton, *vodinputtbutton, *scheinputtbutton; + QToolButton *bcastoutputtbutton, *vodoutputtbutton, *scheoutputtbutton; + QGroupBox *bcastcontrol, *schecontrol; + QPushButton *bcastplay, *bcastpause, *bcaststop; + QPushButton *bcastadd, *vodadd, *scheadd, *bcastremove, *vodremove, *scheremove; + private slots: void close(); }; diff --git a/modules/gui/qt4/dialogs_provider.cpp b/modules/gui/qt4/dialogs_provider.cpp index afe147bd12..fe62045af4 100644 --- a/modules/gui/qt4/dialogs_provider.cpp +++ b/modules/gui/qt4/dialogs_provider.cpp @@ -45,6 +45,7 @@ #include "dialogs/help.hpp" #include "dialogs/gototime.hpp" #include "dialogs/podcast_configuration.hpp" +#include "dialogs/vlm.hpp" DialogsProvider* DialogsProvider::instance = NULL; diff --git a/modules/gui/qt4/ui/vlm.ui b/modules/gui/qt4/ui/vlm.ui index d0e7692af8..dbf80c107f 100644 --- a/modules/gui/qt4/ui/vlm.ui +++ b/modules/gui/qt4/ui/vlm.ui @@ -35,328 +35,6 @@ Media configuration - - - - 0 - 20 - 601 - 331 - - - - 1 - - - - Broadcast - - - - - 0 - 0 - 581 - 271 - - - - - 0 - - - 4 - - - - - Cancel - - - - - - - ... - - - - - - - - - - specify - - - - - - - - - - Input : - - - - - - - Add - - - - - - - - 5 - 5 - 0 - 0 - - - - Output : - - - - - - - Enable - - - - - - - Name : - - - - - - - - - - ... - - - - - - - Controls - - - - - - - - - Video On Demand - - - - - 0 - 0 - 581 - 271 - - - - - 0 - - - 4 - - - - - Input : - - - - - - - Add - - - - - - - - 5 - 5 - 0 - 0 - - - - Output : - - - - - - - ... - - - - - - - Name : - - - - - - - - - - Cancel - - - - - - - - - - ... - - - - - - - Enable - - - - - - - - - - specify - - - - - - - - - Schedule - - - - - 0 - 0 - 581 - 271 - - - - - 0 - - - 4 - - - - - ... - - - - - - - - 5 - 5 - 0 - 0 - - - - Output : - - - - - - - ... - - - - - - - - - - Add - - - - - - - Name : - - - - - - - Input : - - - - - - - - - - Cancel - - - - - - - - - - Enable - - - - - - - @@ -399,6 +77,9 @@ Qt::ScrollBarAlwaysOff + + QAbstractItemView::MultiSelection + true @@ -434,102 +115,5 @@ - - - BcastspecOut - clicked(bool) - BcastOutputLabel - setEnabled(bool) - - - 565 - 139 - - - 65 - 139 - - - - - BcastspecOut - clicked(bool) - BcastOutputLEdit - setEnabled(bool) - - - 565 - 139 - - - 362 - 139 - - - - - BcastspecOut - clicked(bool) - BcastOutputQToolButton - setEnabled(bool) - - - 565 - 139 - - - 468 - 139 - - - - - VODspecOut - clicked(bool) - VODOutputLabel - setEnabled(bool) - - - 565 - 217 - - - 65 - 217 - - - - - VODspecOut - clicked(bool) - VODOutputQToolButton - setEnabled(bool) - - - 565 - 217 - - - 468 - 217 - - - - - VODspecOut - clicked(bool) - VODOutputLEdit - setEnabled(bool) - - - 565 - 217 - - - 362 - 217 - - - - +