/*! \fn SnippetWidget::showPopupMenu( QListViewItem * item, const QPoint & p, int ) Shows the Popup-Menu depending item is a valid pointer */ void SnippetWidget::showPopupMenu( QListViewItem * item, const QPoint & p, int ) { KPopupMenu popup; SnippetItem * selectedItem = static_cast<SnippetItem *>(item); if ( item ) { popup.insertTitle( selectedItem->getName() ); popup.insertItem( i18n("Add Item..."), this, SLOT( slotAdd() ) ); popup.insertItem( i18n("Add Group..."), this, SLOT( slotAddGroup() ) ); if (dynamic_cast<SnippetGroup*>(item)) { popup.insertItem( i18n("Edit..."), this, SLOT( slotEditGroup() ) ); } else { popup.insertItem( i18n("Edit..."), this, SLOT( slotEdit() ) ); } popup.insertItem( i18n("Remove"), this, SLOT( slotRemove() ) ); } else { popup.insertTitle(i18n("Code Snippets")); popup.insertItem( i18n("Add Group..."), this, SLOT( slotAddGroup() ) ); } popup.exec(p); }
KXmlCommandAdvancedDlg::KXmlCommandAdvancedDlg(TQWidget *parent, const char *name) : TQWidget(parent, name) { m_xmlcmd = 0; m_command = new TQLineEdit(this); m_view = new TDEListView(this); m_view->addColumn(""); m_view->header()->hide(); m_view->setSorting(-1); m_apply = new TQToolButton(this); m_apply->setIconSet( TQApplication::reverseLayout()? SmallIconSet( "forward" ) : SmallIconSet("back")); m_addgrp = new TQToolButton(this); m_addgrp->setIconSet(SmallIconSet("folder")); m_addopt = new TQToolButton(this); m_addopt->setIconSet(SmallIconSet("document")); m_delopt = new TQToolButton(this); m_delopt->setIconSet(SmallIconSet("editdelete")); m_up = new TQToolButton(this); m_up->setIconSet(SmallIconSet("up")); m_down = new TQToolButton(this); m_down->setIconSet(SmallIconSet("down")); m_dummy = new TQWidget(this); m_desc = new TQLineEdit(m_dummy); m_name = new TQLineEdit(m_dummy); m_type = new TQComboBox(m_dummy); m_type->insertItem(i18n("String")); m_type->insertItem(i18n("Integer")); m_type->insertItem(i18n("Float")); m_type->insertItem(i18n("List")); m_type->insertItem(i18n("Boolean")); m_format = new TQLineEdit(m_dummy); m_default = new TQLineEdit(m_dummy); TQLabel *m_namelab = new TQLabel(i18n("&Name:"), m_dummy); TQLabel *m_desclab = new TQLabel(i18n("&Description:"), m_dummy); TQLabel *m_formatlab = new TQLabel(i18n("&Format:"), m_dummy); TQLabel *m_typelab = new TQLabel(i18n("&Type:"), m_dummy); TQLabel *m_defaultlab = new TQLabel(i18n("Default &value:"), m_dummy); TQLabel *m_commandlab = new TQLabel(i18n("Co&mmand:"), this); m_namelab->setBuddy(m_name); m_desclab->setBuddy(m_desc); m_formatlab->setBuddy(m_format); m_typelab->setBuddy(m_type); m_defaultlab->setBuddy(m_default); m_commandlab->setBuddy(m_command); m_persistent = new TQCheckBox( i18n( "&Persistent option" ), m_dummy ); TQGroupBox *gb = new TQGroupBox(0, Qt::Horizontal, i18n("Va&lues"), m_dummy); m_stack = new TQWidgetStack(gb); TQWidget *w1 = new TQWidget(m_stack), *w2 = new TQWidget(m_stack), *w3 = new TQWidget(m_stack); m_stack->addWidget(w1, 1); m_stack->addWidget(w2, 2); m_stack->addWidget(w3, 3); m_edit1 = new TQLineEdit(w1); m_edit2 = new TQLineEdit(w1); TQLabel *m_editlab1 = new TQLabel(i18n("Minimum v&alue:"), w1); TQLabel *m_editlab2 = new TQLabel(i18n("Ma&ximum value:"), w1); m_editlab1->setBuddy(m_edit1); m_editlab2->setBuddy(m_edit2); m_values = new TDEListView(w2); m_values->addColumn(i18n("Name")); m_values->addColumn(i18n("Description")); m_values->setAllColumnsShowFocus(true); m_values->setSorting(-1); m_values->setMaximumHeight(110); m_addval = new TQToolButton(w2); m_addval->setIconSet(SmallIconSet("editcopy")); m_delval = new TQToolButton(w2); m_delval->setIconSet(SmallIconSet("editdelete")); TQToolTip::add(m_addval, i18n("Add value")); TQToolTip::add(m_delval, i18n("Delete value")); TQToolTip::add(m_apply, i18n("Apply changes")); TQToolTip::add(m_addgrp, i18n("Add group")); TQToolTip::add(m_addopt, i18n("Add option")); TQToolTip::add(m_delopt, i18n("Delete item")); TQToolTip::add(m_up, i18n("Move up")); TQToolTip::add(m_down, i18n("Move down")); KSeparator *sep1 = new KSeparator(KSeparator::HLine, m_dummy); TQGroupBox *gb_input = new TQGroupBox(0, Qt::Horizontal, i18n("&Input From"), this); TQGroupBox *gb_output = new TQGroupBox(0, Qt::Horizontal, i18n("O&utput To"), this); TQLabel *m_inputfilelab = new TQLabel(i18n("File:"), gb_input); TQLabel *m_inputpipelab = new TQLabel(i18n("Pipe:"), gb_input); TQLabel *m_outputfilelab = new TQLabel(i18n("File:"), gb_output); TQLabel *m_outputpipelab = new TQLabel(i18n("Pipe:"), gb_output); m_inputfile = new TQLineEdit(gb_input); m_inputpipe = new TQLineEdit(gb_input); m_outputfile = new TQLineEdit(gb_output); m_outputpipe = new TQLineEdit(gb_output); m_comment = new KTextEdit( this ); m_comment->setTextFormat(TQt::RichText ); m_comment->setReadOnly(true); TQLabel *m_commentlab = new TQLabel( i18n( "Comment:" ), this ); TQVBoxLayout *l2 = new TQVBoxLayout(this, 0, KDialog::spacingHint()); TQHBoxLayout *l3 = new TQHBoxLayout(0, 0, KDialog::spacingHint()); TQVBoxLayout *l7 = new TQVBoxLayout(0, 0, 0); l2->addLayout(l3, 0); l3->addWidget(m_commandlab); l3->addWidget(m_command); TQHBoxLayout *l0 = new TQHBoxLayout(0, 0, KDialog::spacingHint()); TQGridLayout *l10 = new TQGridLayout(0, 2, 2, 0, KDialog::spacingHint()); l2->addLayout(l0, 1); l0->addLayout(TQT_TQLAYOUT(l10)); l10->addMultiCellWidget(m_view, 0, 0, 0, 1); l10->addWidget(gb_input, 1, 0); l10->addWidget(gb_output, 1, 1); l10->setRowStretch(0, 1); l0->addLayout(l7); l7->addWidget(m_apply); l7->addSpacing(5); l7->addWidget(m_addgrp); l7->addWidget(m_addopt); l7->addWidget(m_delopt); l7->addSpacing(5); l7->addWidget(m_up); l7->addWidget(m_down); l7->addStretch(1); l0->addWidget(m_dummy, 1); TQGridLayout *l1 = new TQGridLayout(m_dummy, 9, 2, 0, KDialog::spacingHint()); l1->addWidget(m_desclab, 0, 0, Qt::AlignRight|Qt::AlignVCenter); l1->addWidget(m_desc, 0, 1); l1->addMultiCellWidget(sep1, 1, 1, 0, 1); l1->addWidget(m_namelab, 2, 0, Qt::AlignRight|Qt::AlignVCenter); l1->addWidget(m_name, 2, 1); l1->addWidget(m_typelab, 3, 0, Qt::AlignRight|Qt::AlignVCenter); l1->addWidget(m_type, 3, 1); l1->addWidget(m_formatlab, 4, 0, Qt::AlignRight|Qt::AlignVCenter); l1->addWidget(m_format, 4, 1); l1->addWidget(m_defaultlab, 5, 0, Qt::AlignRight|Qt::AlignVCenter); l1->addWidget(m_default, 5, 1); l1->addWidget( m_persistent, 6, 1 ); l1->addMultiCellWidget(gb, 7, 7, 0, 1); l1->setRowStretch(8, 1); TQHBoxLayout *l4 = new TQHBoxLayout(w2, 0, KDialog::spacingHint()); l4->addWidget(m_values); TQVBoxLayout *l6 = new TQVBoxLayout(0, 0, 0); l4->addLayout(l6); l6->addWidget(m_addval); l6->addWidget(m_delval); l6->addStretch(1); TQGridLayout *l5 = new TQGridLayout(w1, 3, 2, 0, KDialog::spacingHint()); l5->setRowStretch(2, 1); l5->addWidget(m_editlab1, 0, 0, Qt::AlignRight|Qt::AlignVCenter); l5->addWidget(m_editlab2, 1, 0, Qt::AlignRight|Qt::AlignVCenter); l5->addWidget(m_edit1, 0, 1); l5->addWidget(m_edit2, 1, 1); TQGridLayout *l8 = new TQGridLayout(gb_input->layout(), 2, 2, KDialog::spacingHint()); TQGridLayout *l9 = new TQGridLayout(gb_output->layout(), 2, 2, KDialog::spacingHint()); l8->addWidget(m_inputfilelab, 0, 0); l8->addWidget(m_inputpipelab, 1, 0); l8->addWidget(m_inputfile, 0, 1); l8->addWidget(m_inputpipe, 1, 1); l9->addWidget(m_outputfilelab, 0, 0); l9->addWidget(m_outputpipelab, 1, 0); l9->addWidget(m_outputfile, 0, 1); l9->addWidget(m_outputpipe, 1, 1); TQVBoxLayout *l11 = new TQVBoxLayout(TQT_TQLAYOUT(gb->layout())); l11->addWidget(m_stack); TQVBoxLayout *l12 = new TQVBoxLayout( 0, 0, 0 ); l2->addSpacing( 10 ); l2->addLayout( l12 ); l12->addWidget( m_commentlab ); l12->addWidget( m_comment ); connect(m_view, TQT_SIGNAL(selectionChanged(TQListViewItem*)), TQT_SLOT(slotSelectionChanged(TQListViewItem*))); connect(m_values, TQT_SIGNAL(selectionChanged(TQListViewItem*)), TQT_SLOT(slotValueSelected(TQListViewItem*))); connect(m_type, TQT_SIGNAL(activated(int)), TQT_SLOT(slotTypeChanged(int))); connect(m_addval, TQT_SIGNAL(clicked()), TQT_SLOT(slotAddValue())); connect(m_delval, TQT_SIGNAL(clicked()), TQT_SLOT(slotRemoveValue())); connect(m_apply, TQT_SIGNAL(clicked()), TQT_SLOT(slotApplyChanges())); connect(m_addgrp, TQT_SIGNAL(clicked()), TQT_SLOT(slotAddGroup())); connect(m_addopt, TQT_SIGNAL(clicked()), TQT_SLOT(slotAddOption())); connect(m_delopt, TQT_SIGNAL(clicked()), TQT_SLOT(slotRemoveItem())); connect(m_up, TQT_SIGNAL(clicked()), TQT_SLOT(slotMoveUp())); connect(m_down, TQT_SIGNAL(clicked()), TQT_SLOT(slotMoveDown())); connect(m_command, TQT_SIGNAL(textChanged(const TQString&)), TQT_SLOT(slotCommandChanged(const TQString&))); connect(m_view, TQT_SIGNAL(itemRenamed(TQListViewItem*,int)), TQT_SLOT(slotOptionRenamed(TQListViewItem*,int))); connect(m_desc, TQT_SIGNAL(textChanged(const TQString&)), TQT_SLOT(slotChanged())); connect(m_name, TQT_SIGNAL(textChanged(const TQString&)), TQT_SLOT(slotChanged())); connect(m_format, TQT_SIGNAL(textChanged(const TQString&)), TQT_SLOT(slotChanged())); connect(m_default, TQT_SIGNAL(textChanged(const TQString&)), TQT_SLOT(slotChanged())); connect(m_edit1, TQT_SIGNAL(textChanged(const TQString&)), TQT_SLOT(slotChanged())); connect(m_edit2, TQT_SIGNAL(textChanged(const TQString&)), TQT_SLOT(slotChanged())); connect(m_type, TQT_SIGNAL(activated(int)), TQT_SLOT(slotChanged())); connect(m_addval, TQT_SIGNAL(clicked()), TQT_SLOT(slotChanged())); connect(m_delval, TQT_SIGNAL(clicked()), TQT_SLOT(slotChanged())); connect( m_persistent, TQT_SIGNAL( toggled(bool) ), TQT_SLOT( slotChanged() ) ); m_dummy->setEnabled(false); viewItem(0); /** * Add some short help for the normal (non expert) user */ TQWhatsThis::add( m_name, i18n( "An identification string. Use only alphanumeric characters except spaces. " "The string <b>__root__</b> is reserved for internal use." ) ); TQWhatsThis::add( m_namelab, TQWhatsThis::textFor( m_name ) ); TQWhatsThis::add( m_desc, i18n( "A description string. This string is shown in the interface, and should " "be explicit enough about the role of the corresponding option." ) ); TQWhatsThis::add( m_desclab, TQWhatsThis::textFor( m_desc ) ); TQWhatsThis::add( m_type, i18n( "The type of the option. This determines how the option is presented " "graphically to the user." ) ); TQWhatsThis::add( m_typelab, TQWhatsThis::textFor( m_type ) ); TQWhatsThis::add( m_format, i18n( "The format of the option. This determines how the option is formatted " "for inclusion in the global command line. The tag <b>%value</b> can be used " "to represent the user selection. This tag will be replaced at run-time by a " "string representation of the option value." ) ); TQWhatsThis::add( m_formatlab, TQWhatsThis::textFor( m_format ) ); TQWhatsThis::add( m_default, i18n( "The default value of the option. For non persistent options, nothing is " "added to the command line if the option has that default value. If this " "value does not correspond to the actual default value of the underlying " "utility, make the option persistent to avoid unwanted effects." ) ); TQWhatsThis::add( m_defaultlab, TQWhatsThis::textFor( m_default ) ); TQWhatsThis::add( m_persistent, i18n( "Make the option persistent. A persistent option is always written to the " "command line, whatever its value. This is useful when the chosen default " "value does not match with the actual default value of the underlying utility." ) ); TQWhatsThis::add( m_command, i18n( "The full command line to execute the associated underlying utility. This " "command line is based on a mechanism of tags that are replaced at run-time. " "The supported tags are:<ul>" "<li><b>%filterargs</b>: command options</li>" "<li><b>%filterinput</b>: input specification</li>" "<li><b>%filteroutput</b>: output specification</li>" "<li><b>%psu</b>: the page size in upper case</li>" "<li><b>%psl</b>: the page size in lower case</li></ul>" ) ); TQWhatsThis::add( m_commandlab, TQWhatsThis::textFor( m_command ) ); TQWhatsThis::add( m_inputfile, i18n( "Input specification when the underlying utility reads input data from a file. Use " "the tag <b>%in</b> to represent the input filename." ) ); TQWhatsThis::add( m_inputfilelab, TQWhatsThis::textFor( m_inputfile ) ); TQWhatsThis::add( m_outputfile, i18n( "Output specification when the underlying utility writes output data to a file. Use " "the tag <b>%out</b> to represent the output filename." ) ); TQWhatsThis::add( m_outputfilelab, TQWhatsThis::textFor( m_outputfile ) ); TQWhatsThis::add( m_inputpipe, i18n( "Input specification when the underlying utility reads input data from its " "standard input." ) ); TQWhatsThis::add( m_inputpipelab, TQWhatsThis::textFor( m_inputpipe ) ); TQWhatsThis::add( m_outputpipe, i18n( "Output specification when the underlying utility writes output data to its " "standard output." ) ); TQWhatsThis::add( m_outputpipelab, TQWhatsThis::textFor( m_outputpipe ) ); TQWhatsThis::add( m_comment, i18n( "A comment about the underlying utility, which can be viewed by the user " "from the interface. This comment string supports basic HTML tags like " "<a>, <b> or <i>." ) ); TQWhatsThis::add( m_commentlab, TQWhatsThis::textFor( m_comment ) ); resize(660, 200); }
KisTemplateCreateDia::KisTemplateCreateDia(const QString &templatesResourcePath, const QString &filePath, const QPixmap &thumbnail, QWidget *parent) : KoDialog(parent) , d(new KisTemplateCreateDiaPrivate(templatesResourcePath, filePath, thumbnail)) { setButtons( KoDialog::Ok|KoDialog::Cancel ); setDefaultButton( KoDialog::Ok ); setCaption( i18n( "Create Template" ) ); setModal( true ); setObjectName( "template create dia" ); QWidget *mainwidget = mainWidget(); QHBoxLayout *mbox=new QHBoxLayout( mainwidget ); QVBoxLayout* leftbox = new QVBoxLayout(); mbox->addLayout( leftbox ); QLabel *label=new QLabel(i18nc("Template name", "Name:"), mainwidget); QHBoxLayout *namefield=new QHBoxLayout(); leftbox->addLayout( namefield ); namefield->addWidget(label); d->m_name=new QLineEdit(mainwidget); d->m_name->setFocus(); connect(d->m_name, SIGNAL(textChanged(const QString &)), this, SLOT(slotNameChanged(const QString &))); namefield->addWidget(d->m_name); label=new QLabel(i18n("Group:"), mainwidget); leftbox->addWidget(label); d->m_groups = new QTreeWidget(mainwidget); leftbox->addWidget(d->m_groups); d->m_groups->setColumnCount(1); d->m_groups->setHeaderHidden(true); d->m_groups->setRootIsDecorated(true); d->m_groups->setSortingEnabled(true); fillGroupTree(); d->m_groups->sortItems(0, Qt::AscendingOrder); QHBoxLayout *bbox=new QHBoxLayout(); leftbox->addLayout( bbox ); d->m_add=new QPushButton(i18n("&Add Group..."), mainwidget); connect(d->m_add, SIGNAL(clicked()), this, SLOT(slotAddGroup())); bbox->addWidget(d->m_add); d->m_remove=new QPushButton(i18n("&Remove"), mainwidget); connect(d->m_remove, SIGNAL(clicked()), this, SLOT(slotRemove())); bbox->addWidget(d->m_remove); QVBoxLayout *rightbox=new QVBoxLayout(); mbox->addLayout( rightbox ); QGroupBox *pixbox = new QGroupBox(i18n("Picture"), mainwidget); rightbox->addWidget(pixbox); QVBoxLayout *pixlayout=new QVBoxLayout(pixbox ); d->m_default=new QRadioButton(i18n("&Preview"), pixbox); d->m_default->setChecked(true); connect(d->m_default, SIGNAL(clicked()), this, SLOT(slotDefault())); pixlayout->addWidget(d->m_default); QHBoxLayout *custombox=new QHBoxLayout(); d->m_custom=new QRadioButton(i18n("Custom:"), pixbox); d->m_custom->setChecked(false); connect(d->m_custom, SIGNAL(clicked()), this, SLOT(slotCustom())); custombox->addWidget(d->m_custom); d->m_select=new QPushButton(i18n("&Select..."), pixbox); connect(d->m_select, SIGNAL(clicked()), this, SLOT(slotSelect())); custombox->addWidget(d->m_select); custombox->addStretch(1); pixlayout->addLayout(custombox); d->m_preview=new QLabel(pixbox); // setPixmap() -> auto resize? pixlayout->addWidget(d->m_preview, 0, Qt::AlignCenter); pixlayout->addStretch(1); d->m_defaultTemplate = new QCheckBox( i18n("Use the new template as default"), mainwidget ); d->m_defaultTemplate->setChecked( true ); d->m_defaultTemplate->setVisible( false ); d->m_defaultTemplate->setToolTip(i18n("Use the new template every time Krita starts")); rightbox->addWidget( d->m_defaultTemplate ); enableButtonOk(false); d->m_changed=false; updatePixmap(); connect(d->m_groups, SIGNAL(itemSelectionChanged()), this, SLOT(slotSelectionChanged())); d->m_remove->setEnabled(d->m_groups->currentItem()); connect(this, SIGNAL(okClicked()), this, SLOT(slotOk())); }