K3b::FillStatusDisplay::FillStatusDisplay( K3b::Doc* doc, QWidget *parent ) : QFrame(parent) { d = new Private; d->doc = doc; d->displayWidget = new K3b::FillStatusDisplayWidget( doc, this ); d->buttonMenu = new QToolButton( this ); d->buttonMenu->setIcon( QIcon::fromTheme( "configure" ) ); d->buttonMenu->setAutoRaise( true ); d->buttonMenu->setToolTip( i18n( "Set medium size" ) ); connect( d->buttonMenu, SIGNAL(clicked()), this, SLOT(slotMenuButtonClicked()) ); QHBoxLayout* layout = new QHBoxLayout( this ); layout->setSpacing( frameWidth() ); layout->setContentsMargins( frameWidth(), frameWidth(), frameWidth(), frameWidth() ); layout->addWidget( d->displayWidget, 1, Qt::AlignVCenter ); layout->addWidget( d->buttonMenu ); setupPopupMenu(); connect( d->doc, SIGNAL(changed()), this, SLOT(slotDocChanged()) ); connect( &d->updateTimer, SIGNAL(timeout()), this, SLOT(slotUpdateDisplay()) ); connect( k3bappcore->mediaCache(), SIGNAL(mediumChanged(K3b::Device::Device*)), this, SLOT(slotMediumChanged(K3b::Device::Device*)) ); slotLoadUserDefaults(); }
K3bMovixView::K3bMovixView( K3bMovixDoc* doc, QWidget* parent, const char* name ) : K3bView( doc, parent, name ), m_doc(doc) { m_listView = new K3bMovixListView( m_doc, this ); setMainWidget( m_listView ); connect( m_listView, SIGNAL(contextMenuRequested( QListViewItem*, const QPoint& , int )), this, SLOT(slotContextMenuRequested(QListViewItem*, const QPoint& , int )) ); // setup actions m_actionProperties = new KAction( i18n("Properties"), "misc", 0, this, SLOT(showPropertiesDialog()), actionCollection(), "movix_show_props" ); m_actionRemove = new KAction( i18n( "Remove" ), "editdelete", Key_Delete, this, SLOT(slotRemoveItems()), actionCollection(), "movix_remove_item" ); m_actionRemoveSubTitle = new KAction( i18n( "Remove Subtitle File" ), "editdelete", 0, this, SLOT(slotRemoveSubTitleItems()), actionCollection(), "movix_remove_subtitle_item" ); m_actionAddSubTitle = new KAction( i18n("Add Subtitle File..."), "", 0, this, SLOT(slotAddSubTitleFile()), actionCollection(), "movix_add_subtitle" ); m_popupMenu = new KPopupMenu( this ); m_actionRemove->plug( m_popupMenu ); m_actionRemoveSubTitle->plug( m_popupMenu ); m_actionAddSubTitle->plug( m_popupMenu ); m_popupMenu->insertSeparator(); m_actionProperties->plug( m_popupMenu ); m_popupMenu->insertSeparator(); // k3bMain()->actionCollection()->action("file_burn")->plug( m_popupMenu ); addPluginButtons( K3bProjectPlugin::MOVIX_CD ); toolBox()->addStretch(); m_volumeIDEdit = new QLineEdit( doc->isoOptions().volumeID(), toolBox() ); toolBox()->addLabel( i18n("Volume Name:") ); toolBox()->addSpacing(); toolBox()->addWidget( m_volumeIDEdit ); connect( m_volumeIDEdit, SIGNAL(textChanged(const QString&)), m_doc, SLOT(setVolumeID(const QString&)) ); connect( m_doc, SIGNAL(changed()), this, SLOT(slotDocChanged()) ); }
K3bDataView::K3bDataView(K3bDataDoc* doc, QWidget *parent, const char *name ) : K3bView(doc, parent,name) { m_doc = doc; // --- setup GUI --------------------------------------------------- QSplitter* mainSplitter = new QSplitter( this ); m_dataDirTree = new K3bDataDirTreeView( this, doc, mainSplitter ); m_dataFileView = new K3bDataFileView( this, m_dataDirTree, doc, mainSplitter ); m_dataDirTree->setFileView( m_dataFileView ); setMainWidget( mainSplitter ); connect( m_dataFileView, SIGNAL(dirSelected(K3bDirItem*)), m_dataDirTree, SLOT(setCurrentDir(K3bDirItem*)) ); connect( m_doc, SIGNAL(changed()), this, SLOT(slotDocChanged()) ); m_dataDirTree->checkForNewItems(); m_dataFileView->checkForNewItems(); // the data actions KAction* actionImportSession = new KAction(i18n("&Import Session..."), "gear", 0, this, SLOT(importSession()), actionCollection(), "project_data_import_session" ); KAction* actionClearSession = new KAction(i18n("&Clear Imported Session"), "gear", 0, this, SLOT(clearImportedSession()), actionCollection(), "project_data_clear_imported_session" ); KAction* actionEditBootImages = new KAction(i18n("&Edit Boot Images..."), "cdtrack", 0, this, SLOT(editBootImages()), actionCollection(), "project_data_edit_boot_images" ); actionImportSession->setToolTip( i18n("Import a previously burned session into the current project") ); actionClearSession->setToolTip( i18n("Remove the imported items from a previous session") ); actionEditBootImages->setToolTip( i18n("Modify the bootable settings of the current project") ); toolBox()->addButton( actionImportSession ); toolBox()->addButton( actionClearSession ); toolBox()->addButton( actionEditBootImages ); toolBox()->addSeparator(); toolBox()->addButton( m_dataFileView->actionCollection()->action("parent_dir") ); toolBox()->addSeparator(); addPluginButtons( K3bProjectPlugin::DATA_CD ); toolBox()->addStretch(); m_volumeIDEdit = new QLineEdit( doc->isoOptions().volumeID(), toolBox() ); m_volumeIDEdit->setValidator( new K3bLatin1Validator( m_volumeIDEdit ) ); toolBox()->addLabel( i18n("Volume Name:") ); toolBox()->addSpacing(); toolBox()->addWidget( m_volumeIDEdit ); connect( m_volumeIDEdit, SIGNAL(textChanged(const QString&)), m_doc, SLOT(setVolumeID(const QString&)) ); // this is just for testing (or not?) // most likely every project type will have it's rc file in the future // we only add the additional actions since K3bView already added the default actions setXML( "<!DOCTYPE kpartgui SYSTEM \"kpartgui.dtd\">" "<kpartgui name=\"k3bproject\" version=\"1\">" "<MenuBar>" " <Menu name=\"project\"><text>&Project</text>" " <Action name=\"project_data_import_session\"/>" " <Action name=\"project_data_clear_imported_session\"/>" " <Action name=\"project_data_edit_boot_images\"/>" " </Menu>" "</MenuBar>" "</kpartgui>", true ); }