void ConfigureThemesDialog::Private::newThemeButtonClicked() { Theme emptyTheme; emptyTheme.setName( uniqueNameForTheme( i18n( "New Theme" ) ) ); Theme::Column * col = new Theme::Column(); col->setLabel( i18n( "New Column" ) ); col->setVisibleByDefault( true ); col->addMessageRow( new Theme::Row() ); col->addGroupHeaderRow( new Theme::Row() ); emptyTheme.addColumn( col ); ThemeListWidgetItem * item = new ThemeListWidgetItem( mThemeList, emptyTheme ); mThemeList->setCurrentItem( item ); mDeleteThemeButton->setEnabled( mThemeList->count() > 1 ); }
void ConfigureThemesDialog::Private::commitEditor() { Theme * editedTheme = mEditor->editedTheme(); if ( !editedTheme ) return; mEditor->commit(); ThemeListWidgetItem * editedItem = findThemeItemByTheme( editedTheme ); if ( editedItem ) return; // We must reset the runtime column state as the columns might have // totally changed in the editor editedTheme->resetColumnState(); QString goodName = uniqueNameForTheme( editedTheme->name(), editedTheme ); editedTheme->setName( goodName ); editedItem->setText( goodName ); }