K3b::MovixView::MovixView( K3b::MovixDoc* doc, QWidget* parent ) : View( doc, parent ), m_doc( doc ), m_model( new MovixProjectModel( m_doc, this ) ), m_view( new QTreeView( this ) ) { m_view->setModel( m_model ); m_view->setAcceptDrops( true ); m_view->setDragEnabled( true ); m_view->setDragDropMode( QTreeView::DragDrop ); m_view->setItemsExpandable( false ); m_view->setRootIsDecorated( false ); m_view->setSelectionMode( QTreeView::ExtendedSelection ); m_view->setVerticalScrollMode( QAbstractItemView::ScrollPerPixel ); m_view->setContextMenuPolicy( Qt::ActionsContextMenu ); // FIXME: make QHeaderView::Interactive the default but connect to model changes and call header()->resizeSections( QHeaderView::ResizeToContents ); m_view->header()->setResizeMode( QHeaderView::ResizeToContents ); m_view->setEditTriggers( QAbstractItemView::NoEditTriggers ); setMainWidget( m_view ); // setup actions m_actionProperties = K3b::createAction( this, i18n("Properties"), "document-properties", 0, this, SLOT(showPropertiesDialog()), actionCollection(), "movix_show_props" ); m_actionRemove = K3b::createAction( this, i18n( "Remove" ), "edit-delete", Qt::Key_Delete, this, SLOT(slotRemove()), actionCollection(), "movix_remove_item" ); m_actionRemoveSubTitle = K3b::createAction( this, i18n( "Remove Subtitle File" ), "edit-delete", 0, this, SLOT(slotRemoveSubTitleItems()), actionCollection(), "movix_remove_subtitle_item" ); m_actionAddSubTitle = K3b::createAction( this, i18n("Add Subtitle File..."), 0, 0, this, SLOT(slotAddSubTitleFile()), actionCollection(), "movix_add_subtitle" ); connect( m_view->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), this, SLOT(slotSelectionChanged()) ); QAction* separator = new QAction( this ); separator->setSeparator( true ); m_view->addAction( m_actionRemove ); m_view->addAction( m_actionRemoveSubTitle ); m_view->addAction( m_actionAddSubTitle ); m_view->addAction( separator ); m_view->addAction( m_actionProperties ); m_view->addAction( separator ); m_view->addAction( actionCollection()->action("project_burn") ); // Setup toolbar toolBox()->addActions( createPluginsActions( m_doc->type() ) ); toolBox()->addWidget( new VolumeNameWidget( doc, toolBox() ) ); }
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()) ); }