diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 460c52653ab0dcca6f19a4f492ed2c5e4e963ab0 (patch) | |
tree | 67208f7c145782a7e90b123b982ca78d88cc2c87 /certmanager/conf | |
download | tdepim-460c52653ab0dcca6f19a4f492ed2c5e4e963ab0.tar.gz tdepim-460c52653ab0dcca6f19a4f492ed2c5e4e963ab0.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'certmanager/conf')
-rw-r--r-- | certmanager/conf/Makefile.am | 26 | ||||
-rw-r--r-- | certmanager/conf/appearanceconfigpage.cpp | 87 | ||||
-rw-r--r-- | certmanager/conf/appearanceconfigpage.h | 60 | ||||
-rw-r--r-- | certmanager/conf/appearanceconfigwidget.cpp | 358 | ||||
-rw-r--r-- | certmanager/conf/appearanceconfigwidget.h | 73 | ||||
-rw-r--r-- | certmanager/conf/appearanceconfigwidgetbase.ui | 215 | ||||
-rw-r--r-- | certmanager/conf/configuredialog.cpp | 73 | ||||
-rw-r--r-- | certmanager/conf/configuredialog.h | 52 | ||||
-rw-r--r-- | certmanager/conf/dirservconfigpage.cpp | 296 | ||||
-rw-r--r-- | certmanager/conf/dirservconfigpage.h | 84 | ||||
-rw-r--r-- | certmanager/conf/dnorderconfigpage.cpp | 77 | ||||
-rw-r--r-- | certmanager/conf/dnorderconfigpage.h | 63 | ||||
-rw-r--r-- | certmanager/conf/kleopatra_config_appear.desktop | 181 | ||||
-rw-r--r-- | certmanager/conf/kleopatra_config_dirserv.desktop | 169 | ||||
-rw-r--r-- | certmanager/conf/kleopatra_config_dnorder.desktop | 164 |
15 files changed, 1978 insertions, 0 deletions
diff --git a/certmanager/conf/Makefile.am b/certmanager/conf/Makefile.am new file mode 100644 index 000000000..f58c20c77 --- /dev/null +++ b/certmanager/conf/Makefile.am @@ -0,0 +1,26 @@ +AM_CPPFLAGS = -DLIBKLEOPATRA_NO_COMPAT -I$(srcdir)/../lib -I$(srcdir)/../lib/ui -I../lib/ui \ + -I$(top_srcdir)/libkdenetwork $(GPGME_CFLAGS) $(all_includes) + +METASOURCES = AUTO + +# the stuff that gets compiled into kleopatra +noinst_LTLIBRARIES = libconf.la +libconf_la_SOURCES = configuredialog.cpp + +kde_module_LTLIBRARIES = kcm_kleopatra.la + +kcm_kleopatra_la_SOURCES = dirservconfigpage.cpp \ + appearanceconfigpage.cpp \ + appearanceconfigwidgetbase.ui \ + appearanceconfigwidget.cpp \ + dnorderconfigpage.cpp + +kcm_kleopatra_la_LDFLAGS = $(all_libraries) -module -avoid-version -no-undefined +kcm_kleopatra_la_LIBADD = ../lib/libkleopatra.la $(LIB_KDEUI) + +kde_services_DATA = \ + kleopatra_config_dirserv.desktop \ + kleopatra_config_appear.desktop \ + kleopatra_config_dnorder.desktop + +dirservconfigpage.lo: ../lib/ui/directoryserviceswidgetbase.h diff --git a/certmanager/conf/appearanceconfigpage.cpp b/certmanager/conf/appearanceconfigpage.cpp new file mode 100644 index 000000000..5d2a434cc --- /dev/null +++ b/certmanager/conf/appearanceconfigpage.cpp @@ -0,0 +1,87 @@ +/* + appearanceconfigpage.cpp + + This file is part of kleopatra, the KDE key manager + Copyright (c) 2004 Klarlvdalens Datakonsult AB + + Libkleopatra is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License, + version 2, as published by the Free Software Foundation. + + Libkleopatra is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + In addition, as a special exception, the copyright holders give + permission to link the code of this program with any edition of + the Qt library by Trolltech AS, Norway (or with modified versions + of Qt that use the same license as Qt), and distribute linked + combinations including the two. You must obey the GNU General + Public License in all respects for all of the code used other than + Qt. If you modify this file, you may extend this exception to + your version of the file, but you are not obligated to do so. If + you do not wish to do so, delete this exception statement from + your version. +*/ + +#include "appearanceconfigpage.h" +#include <qlayout.h> +#include "appearanceconfigwidget.h" +#include <kmessagebox.h> +#include <klocale.h> +#include <kdebug.h> + +#include <kdepimmacros.h> + +AppearanceConfigurationPage::AppearanceConfigurationPage( QWidget * parent, const char * name ) + : KCModule( parent, name ) +{ + QVBoxLayout* lay = new QVBoxLayout( this ); + mWidget = new Kleo::AppearanceConfigWidget( this ); + lay->addWidget( mWidget ); + connect( mWidget, SIGNAL( changed() ), this, SLOT( slotChanged() ) ); + +#ifndef HAVE_UNBROKEN_KCMULTIDIALOG + load(); +#endif +} + + +void AppearanceConfigurationPage::load() +{ + mWidget->load(); +} + +void AppearanceConfigurationPage::save() +{ + mWidget->save(); + +} + +void AppearanceConfigurationPage::defaults() +{ + mWidget->defaults(); +} + +extern "C" +{ + KDE_EXPORT KCModule *create_kleopatra_config_appear( QWidget *parent, const char * ) + { + AppearanceConfigurationPage *page = + new AppearanceConfigurationPage( parent, "kleopatra_config_appear" ); + return page; + } +} + +// kdelibs-3.2 didn't have the changed signal in KCModule... +void AppearanceConfigurationPage::slotChanged() +{ + emit changed(true); +} + +#include "appearanceconfigpage.moc" diff --git a/certmanager/conf/appearanceconfigpage.h b/certmanager/conf/appearanceconfigpage.h new file mode 100644 index 000000000..c3acea007 --- /dev/null +++ b/certmanager/conf/appearanceconfigpage.h @@ -0,0 +1,60 @@ +/* + appearanceconfigpage.h + + This file is part of kleopatra, the KDE key manager + Copyright (c) 2004 Klarlvdalens Datakonsult AB + + Libkleopatra is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License, + version 2, as published by the Free Software Foundation. + + Libkleopatra is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + In addition, as a special exception, the copyright holders give + permission to link the code of this program with any edition of + the Qt library by Trolltech AS, Norway (or with modified versions + of Qt that use the same license as Qt), and distribute linked + combinations including the two. You must obey the GNU General + Public License in all respects for all of the code used other than + Qt. If you modify this file, you may extend this exception to + your version of the file, but you are not obligated to do so. If + you do not wish to do so, delete this exception statement from + your version. +*/ + +#ifndef _APPEARANCE_CONFIGURE_PAGE_H_ +#define _APPEARANCE_CONFIGURE_PAGE_H_ + +#include <kcmodule.h> + +namespace Kleo { + class AppearanceConfigWidget; +} + +/** + * "Appearance" configuration page for kleopatra's configuration dialog + */ +class AppearanceConfigurationPage : public KCModule { + Q_OBJECT +public: + AppearanceConfigurationPage( QWidget * parent=0, const char * name=0 ); + + virtual void load(); + virtual void save(); + virtual void defaults(); + +private slots: + void slotChanged(); + +private: + Kleo::AppearanceConfigWidget* mWidget; +}; + +#endif // _APPEARANCE_CONFIGURE_DIALOG_PRIVATE_H_ diff --git a/certmanager/conf/appearanceconfigwidget.cpp b/certmanager/conf/appearanceconfigwidget.cpp new file mode 100644 index 000000000..a3d177c2a --- /dev/null +++ b/certmanager/conf/appearanceconfigwidget.cpp @@ -0,0 +1,358 @@ +/* + appearanceconfigwidget.cpp + + This file is part of kleopatra, the KDE key manager + Copyright (c) 2002,2004 Klarlvdalens Datakonsult AB + Copyright (c) 2002,2003 Marc Mutz <mutz@kde.org> + + Libkleopatra is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + Libkleopatra is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + In addition, as a special exception, the copyright holders give + permission to link the code of this program with any edition of + the Qt library by Trolltech AS, Norway (or with modified versions + of Qt that use the same license as Qt), and distribute linked + combinations including the two. You must obey the GNU General + Public License in all respects for all of the code used other than + Qt. If you modify this file, you may extend this exception to + your version of the file, but you are not obligated to do so. If + you do not wish to do so, delete this exception statement from + your version. + */ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include "appearanceconfigwidget.h" + +#include <kleo/cryptobackendfactory.h> +#include <kleo/keyfiltermanager.h> + +#include <klistview.h> +#include <kconfig.h> +#include <kdialog.h> +#include <klocale.h> +#include <kdebug.h> +#include <kmessagebox.h> +#include <kfontdialog.h> +#include <kcolordialog.h> + +#include <qpushbutton.h> +#include <qlayout.h> +#include <qheader.h> +#include <qcolor.h> +#include <qfont.h> +#include <qstring.h> +#include <qpainter.h> +#include <qregexp.h> +#include <qcheckbox.h> + +#include <assert.h> + +using namespace Kleo; + +class CategoryListViewItem : public QListViewItem +{ +public: + CategoryListViewItem( QListView* lv, QListViewItem* prev, const KConfigBase& config ) + : QListViewItem( lv, prev ) { + + setName( config.readEntry( "Name", i18n("<unnamed>") ) ); + mForegroundColor = config.readColorEntry( "foreground-color" ); + mBackgroundColor = config.readColorEntry( "background-color" ); + mHasFont = config.hasKey( "font" ); + if ( mHasFont ) { + setFont( config.readFontEntry( "font" ) ); // sets mItalic and mBold + } + else { + mItalic = config.readBoolEntry( "font-italic", false ); + mBold = config.readBoolEntry( "font-bold", false ); + } + mStrikeOut = config.readBoolEntry( "font-strikeout", false ); + mIsExpired = config.readBoolEntry( "is-expired", false ); + mDirty = false; + } + + void save( KConfigBase& config ) { + config.writeEntry( "Name", text( 0 ) ); + config.writeEntry( "foreground-color", mForegroundColor ); + config.writeEntry( "background-color", mBackgroundColor ); + if ( mHasFont ) + config.writeEntry( "font", mFont ); + else { + config.deleteEntry( "font" ); + config.writeEntry( "font-italic", mItalic ); + config.writeEntry( "font-bold", mBold ); + } + config.writeEntry( "font-strikeout", mStrikeOut ); + } + + void setForegroundColor( const QColor& foreground ) { mForegroundColor = foreground; mDirty = true; } + void setBackgroundColor( const QColor& background ) { mBackgroundColor = background; mDirty = true; } + void setFont( const QFont& font ) { + mFont = font; + mHasFont = true; + mItalic = font.italic(); + mBold = font.bold(); + mDirty = true; + } + + QColor foregroundColor() const { return mForegroundColor; } + QColor backgroundColor() const { return mBackgroundColor; } + QFont font() const { return mFont; } + + void setDefaultAppearance() { + mForegroundColor = mIsExpired ? Qt::red : QColor(); + mBackgroundColor = QColor(); + mHasFont = false; + mFont = QFont(); + mBold = false; + mItalic = false; + mStrikeOut = false; + mDirty = true; + } + + bool isDirty() const { return mDirty; } + bool isItalic() const { return mItalic; } + bool isBold() const { return mBold; } + bool isStrikeout() const { return mStrikeOut; } + bool hasFont() const { return mHasFont; } + + void toggleItalic() { mItalic = !mItalic; if ( mHasFont ) mFont.setItalic( mItalic ); mDirty = true; } + void toggleBold() { mBold = !mBold; if ( mHasFont ) mFont.setBold( mBold ); mDirty = true; } + void toggleStrikeout() { mStrikeOut = !mStrikeOut; mDirty = true; } + +private: + void setName( const QString& name ) { + setText( 0, name ); + } + + void paintCell( QPainter * p, const QColorGroup & cg, int column, int width, int alignment ); + +private: + QColor mForegroundColor, mBackgroundColor; + QFont mFont; + bool mHasFont; + bool mIsExpired; // used for default settings + bool mItalic; + bool mBold; + bool mStrikeOut; + bool mDirty; +}; + +void CategoryListViewItem::paintCell( QPainter * p, const QColorGroup & cg, int column, int width, int alignment ) { + QColorGroup _cg = cg; + QFont font = p->font(); + if ( mHasFont ) + font = mFont; + else { + if ( mItalic ) + font.setItalic( true ); + if ( mBold ) + font.setBold( true ); + } + if ( mStrikeOut ) + font.setStrikeOut( true ); + p->setFont( font ); + + if ( mForegroundColor.isValid() ) + _cg.setColor( QColorGroup::Text, mForegroundColor ); + if ( mBackgroundColor.isValid() ) + _cg.setColor( QColorGroup::Base, mBackgroundColor ); + + QListViewItem::paintCell( p, _cg, column, width, alignment ); +} + +//// + +Kleo::AppearanceConfigWidget::AppearanceConfigWidget ( + QWidget* parent, const char* name, WFlags fl ) + : AppearanceConfigWidgetBase( parent, name, fl ) +{ + categoriesLV->setSorting( -1 ); + load(); +} + + +/* + * Destroys the object and frees any allocated resources + */ + +AppearanceConfigWidget::~AppearanceConfigWidget() +{ + // no need to delete child widgets, Qt does it all for us +} + + +void AppearanceConfigWidget::slotSelectionChanged( QListViewItem* item ) +{ + bool sel = item != 0; + foregroundButton->setEnabled( sel ); + backgroundButton->setEnabled( sel ); + fontButton->setEnabled( sel ); + italicCB->setEnabled( item ); + boldCB->setEnabled( item ); + strikeoutCB->setEnabled( item ); + defaultLookPB->setEnabled( sel ); + if ( item ) { + CategoryListViewItem* clvi = static_cast<CategoryListViewItem *>( item ); + italicCB->setChecked( clvi->isItalic() ); + boldCB->setChecked( clvi->isBold() ); + strikeoutCB->setChecked( clvi->isStrikeout() ); + } else { + italicCB->setChecked( false ); + boldCB->setChecked( false ); + strikeoutCB->setChecked( false ); + } +} + +/* + * set default appearance for selected category + */ +void AppearanceConfigWidget::slotDefaultClicked() +{ + CategoryListViewItem* item = static_cast<CategoryListViewItem*>(categoriesLV->selectedItem() ); + if ( !item ) + return; + item->setDefaultAppearance(); + item->repaint(); + slotSelectionChanged( item ); + emit changed(); +} + +void AppearanceConfigWidget::load() +{ + categoriesLV->clear(); + KConfig * config = Kleo::CryptoBackendFactory::instance()->configObject(); + if ( !config ) + return; + QStringList groups = config->groupList().grep( QRegExp( "^Key Filter #\\d+$" ) ); + for ( QStringList::const_iterator it = groups.begin() ; it != groups.end() ; ++it ) { + KConfigGroup cfg( config, *it ); + (void) new CategoryListViewItem( categoriesLV, categoriesLV->lastItem(), cfg ); + } +} + +void AppearanceConfigWidget::save() +{ + KConfig * config = Kleo::CryptoBackendFactory::instance()->configObject(); + if ( !config ) + return; + // We know (assume) that the groups in the config object haven't changed, + // so we just iterate over them and over the listviewitems, and map one-to-one. + QStringList groups = config->groupList().grep( QRegExp( "^Key Filter #\\d+$" ) ); + if ( groups.isEmpty() ) { + // If we created the default categories ourselves just now, then we need to make up their list + QListViewItemIterator lvit( categoriesLV ); + for ( ; lvit.current() ; ++lvit ) + groups << lvit.current()->text( 0 ); + } + + QListViewItemIterator lvit( categoriesLV ); + for ( QStringList::const_iterator it = groups.begin() ; it != groups.end() && lvit.current(); ++it, ++lvit ) { + CategoryListViewItem* item = static_cast<CategoryListViewItem*>(lvit.current() ); + KConfigGroup cfg( config, *it ); + item->save( cfg ); + } + config->sync(); + Kleo::KeyFilterManager::instance()->reload(); +} + + +void AppearanceConfigWidget::slotForegroundClicked() { + CategoryListViewItem* item = static_cast<CategoryListViewItem*>(categoriesLV->selectedItem() ); + Q_ASSERT( item ); + if( !item ) + return; + QColor fg = item->foregroundColor(); + int result = KColorDialog::getColor( fg ); + if ( result == KColorDialog::Accepted ) { + item->setForegroundColor( fg ); + item->repaint(); + emit changed(); + } +} + +void AppearanceConfigWidget::slotBackgroundClicked() { + CategoryListViewItem* item = static_cast<CategoryListViewItem*>(categoriesLV->selectedItem() ); + Q_ASSERT( item ); + if( !item ) + return; + QColor bg = item->backgroundColor(); + int result = KColorDialog::getColor( bg ); + if ( result == KColorDialog::Accepted ) { + item->setBackgroundColor( bg ); + item->repaint(); + emit changed(); + } +} + +void AppearanceConfigWidget::slotFontClicked() { + CategoryListViewItem* item = static_cast<CategoryListViewItem*>(categoriesLV->selectedItem() ); + Q_ASSERT( item ); + if( !item ) + return; + QFont font = item->font(); + int result = KFontDialog::getFont( font ); + if ( result == KFontDialog::Accepted ) { + item->setFont( font ); + item->repaint(); + emit changed(); + } +} + +void AppearanceConfigWidget::defaults() +{ + // This simply means "default look for every category" + QListViewItemIterator lvit( categoriesLV ); + for ( ; lvit.current() ; ++lvit ) { + CategoryListViewItem* item = static_cast<CategoryListViewItem *>( lvit.current() ); + item->setDefaultAppearance(); + item->repaint(); + } + emit changed(); +} + +void AppearanceConfigWidget::slotItalicClicked() +{ + CategoryListViewItem* item = static_cast<CategoryListViewItem*>(categoriesLV->selectedItem() ); + if ( item ) { + item->toggleItalic(); + item->repaint(); + emit changed(); + } +} + +void AppearanceConfigWidget::slotBoldClicked() +{ + CategoryListViewItem* item = static_cast<CategoryListViewItem*>(categoriesLV->selectedItem() ); + if ( item ) { + item->toggleBold(); + item->repaint(); + emit changed(); + } +} + +void AppearanceConfigWidget::slotStrikeoutClicked() +{ + CategoryListViewItem* item = static_cast<CategoryListViewItem*>(categoriesLV->selectedItem() ); + if ( item ) { + item->toggleStrikeout(); + item->repaint(); + emit changed(); + } +} + +#include "appearanceconfigwidget.moc" diff --git a/certmanager/conf/appearanceconfigwidget.h b/certmanager/conf/appearanceconfigwidget.h new file mode 100644 index 000000000..dc5c79766 --- /dev/null +++ b/certmanager/conf/appearanceconfigwidget.h @@ -0,0 +1,73 @@ +/* + appearanceconfigwidget.h + + This file is part of kleopatra, the KDE key manager + Copyright (c) 2002,2004 Klarlvdalens Datakonsult AB + Copyright (c) 2002,2003 Marc Mutz <mutz@kde.org> + + Libkleopatra is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + Libkleopatra is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + In addition, as a special exception, the copyright holders give + permission to link the code of this program with any edition of + the Qt library by Trolltech AS, Norway (or with modified versions + of Qt that use the same license as Qt), and distribute linked + combinations including the two. You must obey the GNU General + Public License in all respects for all of the code used other than + Qt. If you modify this file, you may extend this exception to + your version of the file, but you are not obligated to do so. If + you do not wish to do so, delete this exception statement from + your version. + */ + +#ifndef APPEARANCECONFIGWIDGET_H +#define APPEARANCECONFIGWIDGET_H + +#include "appearanceconfigwidgetbase.h" +#include <qstringlist.h> +class KConfig; + +namespace Kleo { + + class AppearanceConfigWidget : public AppearanceConfigWidgetBase { + Q_OBJECT + + public: + AppearanceConfigWidget( + QWidget * parent=0, const char * name=0, WFlags f=0 ); + ~AppearanceConfigWidget(); + + void load(); + void save(); + + public slots: + void defaults(); + + signals: + void changed(); + + protected slots: + // reimplemented from the base class + virtual void slotDefaultClicked(); + virtual void slotSelectionChanged( QListViewItem * ); + virtual void slotForegroundClicked(); + virtual void slotBackgroundClicked(); + virtual void slotFontClicked(); + virtual void slotItalicClicked(); + virtual void slotBoldClicked(); + virtual void slotStrikeoutClicked(); + }; +} + +#endif // APPEARANCECONFIGWIDGET_H diff --git a/certmanager/conf/appearanceconfigwidgetbase.ui b/certmanager/conf/appearanceconfigwidgetbase.ui new file mode 100644 index 000000000..b432ac8c6 --- /dev/null +++ b/certmanager/conf/appearanceconfigwidgetbase.ui @@ -0,0 +1,215 @@ +<!DOCTYPE UI><UI version="3.2" stdsetdef="1"> +<class>AppearanceConfigWidgetBase</class> +<widget class="QWidget"> + <property name="name"> + <cstring>AppearanceConfigWidgetBase</cstring> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>616</width> + <height>352</height> + </rect> + </property> + <property name="caption"> + <string>Color & Font Configuration</string> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QListView"> + <column> + <property name="text"> + <string>Key Categories</string> + </property> + <property name="clickable"> + <bool>true</bool> + </property> + <property name="resizable"> + <bool>true</bool> + </property> + </column> + <property name="name"> + <cstring>categoriesLV</cstring> + </property> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout2</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QPushButton"> + <property name="name"> + <cstring>foregroundButton</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>Set &Text Color...</string> + </property> + </widget> + <widget class="QPushButton"> + <property name="name"> + <cstring>backgroundButton</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>Set &Background Color...</string> + </property> + </widget> + <widget class="QPushButton"> + <property name="name"> + <cstring>fontButton</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>Set F&ont...</string> + </property> + </widget> + <widget class="QCheckBox"> + <property name="name"> + <cstring>italicCB</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>Italic</string> + </property> + </widget> + <widget class="QCheckBox"> + <property name="name"> + <cstring>boldCB</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>Bold</string> + </property> + </widget> + <widget class="QCheckBox"> + <property name="name"> + <cstring>strikeoutCB</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>Strikeout</string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer6</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>20</width> + <height>100</height> + </size> + </property> + </spacer> + <widget class="QPushButton"> + <property name="name"> + <cstring>defaultLookPB</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>Default Appearance</string> + </property> + </widget> + </vbox> + </widget> + </hbox> +</widget> +<connections> + <connection> + <sender>foregroundButton</sender> + <signal>clicked()</signal> + <receiver>AppearanceConfigWidgetBase</receiver> + <slot>slotForegroundClicked()</slot> + </connection> + <connection> + <sender>backgroundButton</sender> + <signal>clicked()</signal> + <receiver>AppearanceConfigWidgetBase</receiver> + <slot>slotBackgroundClicked()</slot> + </connection> + <connection> + <sender>fontButton</sender> + <signal>clicked()</signal> + <receiver>AppearanceConfigWidgetBase</receiver> + <slot>slotFontClicked()</slot> + </connection> + <connection> + <sender>categoriesLV</sender> + <signal>selectionChanged(QListViewItem*)</signal> + <receiver>AppearanceConfigWidgetBase</receiver> + <slot>slotSelectionChanged(QListViewItem*)</slot> + </connection> + <connection> + <sender>defaultLookPB</sender> + <signal>clicked()</signal> + <receiver>AppearanceConfigWidgetBase</receiver> + <slot>slotDefaultClicked()</slot> + </connection> + <connection> + <sender>italicCB</sender> + <signal>clicked()</signal> + <receiver>AppearanceConfigWidgetBase</receiver> + <slot>slotItalicClicked()</slot> + </connection> + <connection> + <sender>boldCB</sender> + <signal>clicked()</signal> + <receiver>AppearanceConfigWidgetBase</receiver> + <slot>slotBoldClicked()</slot> + </connection> + <connection> + <sender>strikeoutCB</sender> + <signal>clicked()</signal> + <receiver>AppearanceConfigWidgetBase</receiver> + <slot>slotStrikeoutClicked()</slot> + </connection> +</connections> +<tabstops> + <tabstop>categoriesLV</tabstop> + <tabstop>foregroundButton</tabstop> + <tabstop>backgroundButton</tabstop> + <tabstop>fontButton</tabstop> + <tabstop>italicCB</tabstop> + <tabstop>boldCB</tabstop> + <tabstop>strikeoutCB</tabstop> + <tabstop>defaultLookPB</tabstop> +</tabstops> +<slots> + <slot access="protected">slotForegroundClicked()</slot> + <slot access="protected">slotBackgroundClicked()</slot> + <slot access="protected">slotFontClicked()</slot> + <slot access="protected">slotSelectionChanged( QListViewItem * )</slot> + <slot access="protected">slotDefaultClicked()</slot> + <slot access="protected">slotItalicClicked()</slot> + <slot access="protected">slotBoldClicked()</slot> + <slot access="protected">slotStrikeoutClicked()</slot> +</slots> +<layoutdefaults spacing="6" margin="11"/> +</UI> diff --git a/certmanager/conf/configuredialog.cpp b/certmanager/conf/configuredialog.cpp new file mode 100644 index 000000000..87976f106 --- /dev/null +++ b/certmanager/conf/configuredialog.cpp @@ -0,0 +1,73 @@ +/* + configuredialog.cpp + + This file is part of kleopatra + Copyright (C) 2000 Espen Sand, espen@kde.org + Copyright (C) 2001-2002 Marc Mutz <mutz@kde.org> + Copyright (c) 2004 Klarlvdalens Datakonsult AB + + Libkleopatra is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License, + version 2, as published by the Free Software Foundation. + + Libkleopatra is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + In addition, as a special exception, the copyright holders give + permission to link the code of this program with any edition of + the Qt library by Trolltech AS, Norway (or with modified versions + of Qt that use the same license as Qt), and distribute linked + combinations including the two. You must obey the GNU General + Public License in all respects for all of the code used other than + Qt. If you modify this file, you may extend this exception to + your version of the file, but you are not obligated to do so. If + you do not wish to do so, delete this exception statement from + your version. +*/ + +#include "configuredialog.h" + +#include <kwin.h> +#include <kapplication.h> +#include <kconfig.h> +#include <klocale.h> + +ConfigureDialog::ConfigureDialog( QWidget *parent, const char *name, bool modal ) + : KCMultiDialog( KDialogBase::IconList, i18n( "Configure" ), parent, name, modal ) +{ + KWin::setIcons( winId(), kapp->icon(), kapp->miniIcon() ); + showButton( User1, true ); + + addModule( "kleopatra_config_dirserv", false ); + addModule( "kleopatra_config_appear", false ); + addModule( "kleopatra_config_dnorder", false ); + + // We store the size of the dialog on hide, because otherwise + // the KCMultiDialog starts with the size of the first kcm, not + // the largest one. This way at least after the first showing of + // the largest kcm the size is kept. + const KConfigGroup geometry( KGlobal::config(), "Geometry" ); + const int width = geometry.readNumEntry( "ConfigureDialogWidth" ); + const int height = geometry.readNumEntry( "ConfigureDialogHeight" ); + if ( width != 0 && height != 0 ) { + setMinimumSize( width, height ); + } + +} + +void ConfigureDialog::hideEvent( QHideEvent * ) { + KConfigGroup geometry( KGlobal::config(), "Geometry" ); + geometry.writeEntry( "ConfigureDialogWidth", width() ); + geometry.writeEntry( "ConfigureDialogHeight",height() ); +} + +ConfigureDialog::~ConfigureDialog() { +} + +#include "configuredialog.moc" diff --git a/certmanager/conf/configuredialog.h b/certmanager/conf/configuredialog.h new file mode 100644 index 000000000..40b7e371b --- /dev/null +++ b/certmanager/conf/configuredialog.h @@ -0,0 +1,52 @@ +/* + configuredialog.cpp + + This file is part of kleopatra + Copyright (C) 2000 Espen Sand, espen@kde.org + Copyright (C) 2001-2002 Marc Mutz <mutz@kde.org> + Copyright (c) 2004 Klarlvdalens Datakonsult AB + + Libkleopatra is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License, + version 2, as published by the Free Software Foundation. + + Libkleopatra is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + In addition, as a special exception, the copyright holders give + permission to link the code of this program with any edition of + the Qt library by Trolltech AS, Norway (or with modified versions + of Qt that use the same license as Qt), and distribute linked + combinations including the two. You must obey the GNU General + Public License in all respects for all of the code used other than + Qt. If you modify this file, you may extend this exception to + your version of the file, but you are not obligated to do so. If + you do not wish to do so, delete this exception statement from + your version. +*/ + +#ifndef _CONFIGURE_DIALOG_H_ +#define _CONFIGURE_DIALOG_H_ + +#include <kcmultidialog.h> + +class ConfigureDialog : public KCMultiDialog +{ + Q_OBJECT + +public: + ConfigureDialog( QWidget *parent=0, const char *name=0, bool modal=true ); + ~ConfigureDialog(); + +protected: + void hideEvent( QHideEvent *i ); + +}; + +#endif diff --git a/certmanager/conf/dirservconfigpage.cpp b/certmanager/conf/dirservconfigpage.cpp new file mode 100644 index 000000000..7711ca2e2 --- /dev/null +++ b/certmanager/conf/dirservconfigpage.cpp @@ -0,0 +1,296 @@ +/* + dirservconfigpage.cpp + + This file is part of kleopatra + Copyright (c) 2004 Klarlvdalens Datakonsult AB + + Libkleopatra is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License, + version 2, as published by the Free Software Foundation. + + Libkleopatra is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + In addition, as a special exception, the copyright holders give + permission to link the code of this program with any edition of + the Qt library by Trolltech AS, Norway (or with modified versions + of Qt that use the same license as Qt), and distribute linked + combinations including the two. You must obey the GNU General + Public License in all respects for all of the code used other than + Qt. If you modify this file, you may extend this exception to + your version of the file, but you are not obligated to do so. If + you do not wish to do so, delete this exception statement from + your version. +*/ + +#include "dirservconfigpage.h" +#include "directoryserviceswidget.h" + +#include <kleo/cryptobackendfactory.h> + +#include <kmessagebox.h> +#include <klocale.h> +#include <kdebug.h> +#include <kconfig.h> +#include <knuminput.h> +#include <kdialog.h> + +#include <qhbox.h> +#include <qlabel.h> +#include <qdatetimeedit.h> +#include <qcheckbox.h> +#include <qlayout.h> + +#include <kdepimmacros.h> + +#if 0 // disabled, since it is apparently confusing +// For sync'ing kabldaprc +class KABSynchronizer +{ +public: + KABSynchronizer() + : mConfig( "kabldaprc" ) { + mConfig.setGroup( "LDAP" ); + } + + KURL::List readCurrentList() const { + + KURL::List lst; + // stolen from kabc/ldapclient.cpp + const uint numHosts = mConfig.readUnsignedNumEntry( "NumSelectedHosts" ); + for ( uint j = 0; j < numHosts; j++ ) { + const QString num = QString::number( j ); + + KURL url; + url.setProtocol( "ldap" ); + url.setPath( "/" ); // workaround KURL parsing bug + const QString host = mConfig.readEntry( QString( "SelectedHost" ) + num ).stripWhiteSpace(); + url.setHost( host ); + + const int port = mConfig.readUnsignedNumEntry( QString( "SelectedPort" ) + num ); + if ( port != 0 ) + url.setPort( port ); + + const QString base = mConfig.readEntry( QString( "SelectedBase" ) + num ).stripWhiteSpace(); + url.setQuery( base ); + + const QString bindDN = mConfig.readEntry( QString( "SelectedBind" ) + num ).stripWhiteSpace(); + url.setUser( bindDN ); + + const QString pwdBindDN = mConfig.readEntry( QString( "SelectedPwdBind" ) + num ).stripWhiteSpace(); + url.setPass( pwdBindDN ); + lst.append( url ); + } + return lst; + } + + void writeList( const KURL::List& lst ) { + + mConfig.writeEntry( "NumSelectedHosts", lst.count() ); + + KURL::List::const_iterator it = lst.begin(); + KURL::List::const_iterator end = lst.end(); + unsigned j = 0; + for( ; it != end; ++it, ++j ) { + const QString num = QString::number( j ); + KURL url = *it; + + Q_ASSERT( url.protocol() == "ldap" ); + mConfig.writeEntry( QString( "SelectedHost" ) + num, url.host() ); + mConfig.writeEntry( QString( "SelectedPort" ) + num, url.port() ); + + // KURL automatically encoded the query (e.g. for spaces inside it), + // so decode it before writing it out + const QString base = KURL::decode_string( url.query().mid(1) ); + mConfig.writeEntry( QString( "SelectedBase" ) + num, base ); + mConfig.writeEntry( QString( "SelectedBind" ) + num, url.user() ); + mConfig.writeEntry( QString( "SelectedPwdBind" ) + num, url.pass() ); + } + mConfig.sync(); + } + +private: + KConfig mConfig; +}; + +#endif + +static const char s_dirserv_componentName[] = "dirmngr"; +static const char s_dirserv_groupName[] = "LDAP"; +static const char s_dirserv_entryName[] = "LDAP Server"; + +static const char s_timeout_componentName[] = "dirmngr"; +static const char s_timeout_groupName[] = "LDAP"; +static const char s_timeout_entryName[] = "ldaptimeout"; + +static const char s_maxitems_componentName[] = "dirmngr"; +static const char s_maxitems_groupName[] = "LDAP"; +static const char s_maxitems_entryName[] = "max-replies"; + +static const char s_addnewservers_componentName[] = "dirmngr"; +static const char s_addnewservers_groupName[] = "LDAP"; +static const char s_addnewservers_entryName[] = "add-servers"; + +DirectoryServicesConfigurationPage::DirectoryServicesConfigurationPage( QWidget * parent, const char * name ) + : KCModule( parent, name ) +{ + mConfig = Kleo::CryptoBackendFactory::instance()->config(); + QVBoxLayout* lay = new QVBoxLayout( this, 0, KDialog::spacingHint() ); + Kleo::CryptoConfigEntry* entry = configEntry( s_dirserv_componentName, s_dirserv_groupName, s_dirserv_entryName, + Kleo::CryptoConfigEntry::ArgType_LDAPURL, true ); + mWidget = new Kleo::DirectoryServicesWidget( entry, this ); + lay->addWidget( mWidget ); + connect( mWidget, SIGNAL( changed() ), this, SLOT( slotChanged() ) ); + + // LDAP timeout + QHBox* box = new QHBox( this ); + box->setSpacing( KDialog::spacingHint() ); + lay->addWidget( box ); + QLabel* label = new QLabel( i18n( "LDAP &timeout (minutes:seconds)" ), box ); + mTimeout = new QTimeEdit( box ); + mTimeout->setDisplay( QTimeEdit::Minutes | QTimeEdit::Seconds ); + connect( mTimeout, SIGNAL( valueChanged( const QTime& ) ), this, SLOT( slotChanged() ) ); + label->setBuddy( mTimeout ); + QWidget* stretch = new QWidget( box ); + box->setStretchFactor( stretch, 2 ); + + // Max number of items returned by queries + box = new QHBox( this ); + box->setSpacing( KDialog::spacingHint() ); + lay->addWidget( box ); + mMaxItems = new KIntNumInput( box ); + mMaxItems->setLabel( i18n( "&Maximum number of items returned by query" ), Qt::AlignLeft | Qt::AlignVCenter ); + mMaxItems->setMinValue( 0 ); + connect( mMaxItems, SIGNAL( valueChanged(int) ), this, SLOT( slotChanged() ) ); + stretch = new QWidget( box ); + box->setStretchFactor( stretch, 2 ); + +#ifdef NOT_USEFUL_CURRENTLY + mAddNewServersCB = new QCheckBox( i18n( "Automatically add &new servers discovered in CRL distribution points" ), this ); + connect( mAddNewServersCB, SIGNAL( clicked() ), this, SLOT( slotChanged() ) ); + lay->addWidget( mAddNewServersCB ); +#endif + +#ifndef HAVE_UNBROKEN_KCMULTIDIALOG + load(); +#endif +} + +void DirectoryServicesConfigurationPage::load() +{ + mWidget->load(); + + mTimeoutConfigEntry = configEntry( s_timeout_componentName, s_timeout_groupName, s_timeout_entryName, Kleo::CryptoConfigEntry::ArgType_UInt, false ); + if ( mTimeoutConfigEntry ) { + QTime time = QTime().addSecs( mTimeoutConfigEntry->uintValue() ); + //kdDebug() << "timeout:" << mTimeoutConfigEntry->uintValue() << " -> " << time << endl; + mTimeout->setTime( time ); + } + + mMaxItemsConfigEntry = configEntry( s_maxitems_componentName, s_maxitems_groupName, s_maxitems_entryName, Kleo::CryptoConfigEntry::ArgType_UInt, false ); + if ( mMaxItemsConfigEntry ) { + mMaxItems->blockSignals( true ); // KNumInput emits valueChanged from setValue! + mMaxItems->setValue( mMaxItemsConfigEntry->uintValue() ); + mMaxItems->blockSignals( false ); + } + +#ifdef NOT_USEFUL_CURRENTLY + mAddNewServersConfigEntry = configEntry( s_addnewservers_componentName, s_addnewservers_groupName, s_addnewservers_entryName, Kleo::CryptoConfigEntry::ArgType_None, false ); + if ( mAddNewServersConfigEntry ) { + mAddNewServersCB->setChecked( mAddNewServersConfigEntry->boolValue() ); + } +#endif +} + +void DirectoryServicesConfigurationPage::save() +{ + mWidget->save(); + + QTime time( mTimeout->time() ); + unsigned int timeout = time.minute() * 60 + time.second(); + if ( mTimeoutConfigEntry && mTimeoutConfigEntry->uintValue() != timeout ) + mTimeoutConfigEntry->setUIntValue( timeout ); + if ( mMaxItemsConfigEntry && mMaxItemsConfigEntry->uintValue() != (uint)mMaxItems->value() ) + mMaxItemsConfigEntry->setUIntValue( mMaxItems->value() ); +#ifdef NOT_USEFUL_CURRENTLY + if ( mAddNewServersConfigEntry && mAddNewServersConfigEntry->boolValue() != mAddNewServersCB->isChecked() ) + mAddNewServersConfigEntry->setBoolValue( mAddNewServersCB->isChecked() ); +#endif + + mConfig->sync( true ); + +#if 0 + // Also write the LDAP URLs to kabldaprc so that they are used by kaddressbook + KABSynchronizer sync; + const KURL::List toAdd = mWidget->urlList(); + KURL::List currentList = sync.readCurrentList(); + + KURL::List::const_iterator it = toAdd.begin(); + KURL::List::const_iterator end = toAdd.end(); + for( ; it != end; ++it ) { + // check if the URL is already in currentList + if ( currentList.find( *it ) == currentList.end() ) + // if not, add it + currentList.append( *it ); + } + sync.writeList( currentList ); +#endif +} + +void DirectoryServicesConfigurationPage::defaults() +{ + mWidget->defaults(); + if ( mTimeoutConfigEntry ) + mTimeoutConfigEntry->resetToDefault(); + if ( mMaxItemsConfigEntry ) + mMaxItemsConfigEntry->resetToDefault(); +#ifdef NOT_USEFUL_CURRENTLY + if ( mAddNewServersConfigEntry ) + mAddNewServersConfigEntry->resetToDefault(); +#endif + load(); +} + +extern "C" +{ + KDE_EXPORT KCModule *create_kleopatra_config_dirserv( QWidget *parent, const char * ) + { + DirectoryServicesConfigurationPage *page = + new DirectoryServicesConfigurationPage( parent, "kleopatra_config_dirserv" ); + return page; + } +} + +// kdelibs-3.2 didn't have the changed signal in KCModule... +void DirectoryServicesConfigurationPage::slotChanged() +{ + emit changed(true); +} + + +// Find config entry for ldap servers. Implements runtime checks on the configuration option. +Kleo::CryptoConfigEntry* DirectoryServicesConfigurationPage::configEntry( const char* componentName, + const char* groupName, + const char* entryName, + Kleo::CryptoConfigEntry::ArgType argType, + bool isList ) +{ + Kleo::CryptoConfigEntry* entry = mConfig->entry( componentName, groupName, entryName ); + if ( !entry ) { + KMessageBox::error( this, i18n( "Backend error: gpgconf does not seem to know the entry for %1/%2/%3" ).arg( componentName, groupName, entryName ) ); + return 0; + } + if( entry->argType() != argType || entry->isList() != isList ) { + KMessageBox::error( this, i18n( "Backend error: gpgconf has wrong type for %1/%2/%3: %4 %5" ).arg( componentName, groupName, entryName ).arg( entry->argType() ).arg( entry->isList() ) ); + return 0; + } + return entry; +} + +#include "dirservconfigpage.moc" diff --git a/certmanager/conf/dirservconfigpage.h b/certmanager/conf/dirservconfigpage.h new file mode 100644 index 000000000..8c7c75439 --- /dev/null +++ b/certmanager/conf/dirservconfigpage.h @@ -0,0 +1,84 @@ +/* + dirservconfigpage.h + + This file is part of kleopatra + Copyright (c) 2004 Klarlvdalens Datakonsult AB + + Libkleopatra is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License, + version 2, as published by the Free Software Foundation. + + Libkleopatra is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + In addition, as a special exception, the copyright holders give + permission to link the code of this program with any edition of + the Qt library by Trolltech AS, Norway (or with modified versions + of Qt that use the same license as Qt), and distribute linked + combinations including the two. You must obey the GNU General + Public License in all respects for all of the code used other than + Qt. If you modify this file, you may extend this exception to + your version of the file, but you are not obligated to do so. If + you do not wish to do so, delete this exception statement from + your version. +*/ + +#ifndef DIRSERVCONFIGPAGE_H +#define DIRSERVCONFIGPAGE_H + +#include <kcmodule.h> +#include <kleo/cryptoconfig.h> +#include <kdepimmacros.h> + +class QCheckBox; +class QTimeEdit; +class KIntNumInput; +namespace Kleo { + class CryptoConfig; + class CryptoConfigEntry; + class DirectoryServicesWidget; +} + +/** + * "Directory Services" configuration page for kleopatra's configuration dialog + * The user can configure LDAP servers in this page, to be used for listing/fetching + * remote certificates in kleopatra. + */ +class KDE_EXPORT DirectoryServicesConfigurationPage : public KCModule { + Q_OBJECT +public: + DirectoryServicesConfigurationPage( QWidget * parent=0, const char * name=0 ); + + virtual void load(); + virtual void save(); + virtual void defaults(); + +private slots: + void slotChanged(); + +private: + Kleo::CryptoConfigEntry* configEntry( const char* componentName, + const char* groupName, + const char* entryName, + Kleo::CryptoConfigEntry::ArgType argType, + bool isList ); + + Kleo::DirectoryServicesWidget* mWidget; + QTimeEdit* mTimeout; + KIntNumInput* mMaxItems; + QCheckBox* mAddNewServersCB; + + Kleo::CryptoConfigEntry* mTimeoutConfigEntry; + Kleo::CryptoConfigEntry* mMaxItemsConfigEntry; + Kleo::CryptoConfigEntry* mAddNewServersConfigEntry; + + Kleo::CryptoConfig* mConfig; +}; + +#endif diff --git a/certmanager/conf/dnorderconfigpage.cpp b/certmanager/conf/dnorderconfigpage.cpp new file mode 100644 index 000000000..44b86b5b8 --- /dev/null +++ b/certmanager/conf/dnorderconfigpage.cpp @@ -0,0 +1,77 @@ +/* + dnorderconfigpage.cpp + + This file is part of kleopatra, the KDE key manager + Copyright (c) 2004 Klarlvdalens Datakonsult AB + + Libkleopatra is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License, + version 2, as published by the Free Software Foundation. + + Libkleopatra is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + In addition, as a special exception, the copyright holders give + permission to link the code of this program with any edition of + the Qt library by Trolltech AS, Norway (or with modified versions + of Qt that use the same license as Qt), and distribute linked + combinations including the two. You must obey the GNU General + Public License in all respects for all of the code used other than + Qt. If you modify this file, you may extend this exception to + your version of the file, but you are not obligated to do so. If + you do not wish to do so, delete this exception statement from + your version. +*/ + +#include "dnorderconfigpage.h" + +#include <ui/dnattributeorderconfigwidget.h> +#include <kleo/dn.h> + +#include <kdepimmacros.h> + +#include <qlayout.h> + +DNOrderConfigPage::DNOrderConfigPage( QWidget * parent, const char * name ) + : KCModule( parent, name ) +{ + QVBoxLayout * vlay = new QVBoxLayout( this ); + mWidget = Kleo::DNAttributeMapper::instance()->configWidget( this, "mWidget" ); + vlay->addWidget( mWidget ); + + connect( mWidget, SIGNAL(changed()), SLOT(slotChanged()) ); + +#ifndef HAVE_UNBROKEN_KCMULTIDIALOG + load(); +#endif +} + + +void DNOrderConfigPage::load() { + mWidget->load(); +} + +void DNOrderConfigPage::save() { + mWidget->save(); +} + +void DNOrderConfigPage::defaults() { + mWidget->defaults(); +} + +// kdelibs-3.2 didn't have the changed signal in KCModule... +void DNOrderConfigPage::slotChanged() { + emit changed(true); +} + +extern "C" KDE_EXPORT KCModule * create_kleopatra_config_dnorder( QWidget * parent, const char * ) { + return new DNOrderConfigPage( parent, "kleopatra_config_dnorder" ); +} + +#include "dnorderconfigpage.moc" diff --git a/certmanager/conf/dnorderconfigpage.h b/certmanager/conf/dnorderconfigpage.h new file mode 100644 index 000000000..c874c7527 --- /dev/null +++ b/certmanager/conf/dnorderconfigpage.h @@ -0,0 +1,63 @@ +/* + dnorderconfigpage.h + + This file is part of kleopatra, the KDE key manager + Copyright (c) 2004 Klarlvdalens Datakonsult AB + + Libkleopatra is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License, + version 2, as published by the Free Software Foundation. + + Libkleopatra is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + In addition, as a special exception, the copyright holders give + permission to link the code of this program with any edition of + the Qt library by Trolltech AS, Norway (or with modified versions + of Qt that use the same license as Qt), and distribute linked + combinations including the two. You must obey the GNU General + Public License in all respects for all of the code used other than + Qt. If you modify this file, you may extend this exception to + your version of the file, but you are not obligated to do so. If + you do not wish to do so, delete this exception statement from + your version. +*/ + +#ifndef __KLEOPATRA_CONF_DNORDERCONFIGPAGE_H__ +#define __KLEOPATRA_CONF_DNORDERCONFIGPAGE_H__ + +#include <kcmodule.h> + +namespace Kleo { + class DNAttributeOrderConfigWidget; +} + +/** + * "DN Order" configuration page for kleopatra's configuration dialog + */ +class DNOrderConfigPage : public KCModule { + Q_OBJECT +public: + DNOrderConfigPage( QWidget * parent=0, const char * name=0 ); + + /*! reimplementation */ + void load(); + /*! reimplementation */ + void save(); + /*! reimplementation */ + void defaults(); + +private slots: + void slotChanged(); + +private: + Kleo::DNAttributeOrderConfigWidget * mWidget; +}; + +#endif // __KLEOPATRA_CONF_DNORDERCONFIGPAGE_H__ diff --git a/certmanager/conf/kleopatra_config_appear.desktop b/certmanager/conf/kleopatra_config_appear.desktop new file mode 100644 index 000000000..8cbeaecf8 --- /dev/null +++ b/certmanager/conf/kleopatra_config_appear.desktop @@ -0,0 +1,181 @@ +[Desktop Entry] +Icon=looknfeel +Type=Service +ServiceTypes=KCModule +DocPath=kleopatra/configuration-appearance.html + +X-KDE-ModuleType=Library +X-KDE-Library=kleopatra +X-KDE-FactoryName=kleopatra_config_appear +X-KDE-HasReadOnlyMode=false +X-KDE-ParentApp=kleopatra +X-KDE-ParentComponents=kleopatra +X-KDE-CfgDlgHierarchy=Kleopatra + +Name=Appearance +Name[ar]=المظهر +Name[be]=Знешні выгляд +Name[bg]=Външен вид +Name[br]=Neuziadur +Name[bs]=Izgled +Name[ca]=Aparença +Name[cs]=Vzhled +Name[cy]=Golwg +Name[da]=Udseende +Name[de]=Erscheinungsbild +Name[el]=Εμφάνιση +Name[eo]=Prezentado +Name[es]=Apariencia +Name[et]=Välimus +Name[eu]=Itxura +Name[fa]=ظاهر +Name[fi]=Ulkoasu +Name[fr]=Apparence +Name[fy]=Uterlik +Name[ga]=Cuma +Name[gl]=Apariencia +Name[he]=מראה +Name[hr]=Izgled +Name[hu]=Megjelenés +Name[is]=Útlit +Name[it]=Aspetto +Name[ja]=外観 +Name[ka]=იერსახე +Name[kk]=Сыртқы көрінісі +Name[km]=រូបរាង +Name[ko]=모양 +Name[lt]=Išvaizda +Name[mk]=Изглед +Name[ms]=Rupa +Name[nb]=Utseende +Name[nds]=Utsehn +Name[ne]=मोहडा +Name[nl]=Uiterlijk +Name[nn]=Utsjånad +Name[pl]=Wygląd +Name[pt]=Aparência +Name[pt_BR]=Aparência +Name[ru]=Внешний вид +Name[rw]=Imigaragarire +Name[se]=Fárda +Name[sk]=Vzhľad +Name[sl]=Videz +Name[sr]=Изглед +Name[sr@Latn]=Izgled +Name[sv]=Uppträdande +Name[ta]=தோற்றம் +Name[tg]=Намуди зоҳирӣ +Name[tr]=Görünüm +Name[uk]=Вигляд +Name[uz]=Koʻrinishi +Name[uz@cyrillic]=Кўриниши +Name[zh_CN]=外观 +Comment=Colors & Fonts Configuration +Comment[af]=Kleur en skrif tipe opstelling +Comment[ar]=إعدادات الألوان و المحارف +Comment[be]=Настаўленні колераў і шрыфтоў +Comment[bg]=Настройки на цветовете и шрифтовете +Comment[bs]=Podešavanje boja i fontova +Comment[ca]=Configuració de colors i lletres +Comment[cs]=Nastavení barev a písem +Comment[da]=Indstilling af farver & skrifttype +Comment[de]=Farb- & Schrifteneinrichtung +Comment[el]=Ρύθμιση χρωμάτων & γραμματοσειρών +Comment[en_GB]=Colours & Fonts Configuration +Comment[eo]=Kolora kaj Tipara Agordo +Comment[es]=Configuración de colores y tipografías +Comment[et]=Värvide ja fontide seadistamine +Comment[eu]=Kolore eta letra-tipoen konfigurazioa +Comment[fa]=پیکربندی رنگها و قلمها +Comment[fi]=Värien ja kirjasinten asetukset +Comment[fr]=Configuration des polices et des couleurs +Comment[fy]=Kleur- en lettertype-ynstellings +Comment[ga]=Cumraíocht na nDathanna/gClófhoirne +Comment[gl]=Configuración de Cores e Fontes +Comment[he]=תצורת צבעים וגופנים +Comment[hu]=A színek és betűtípusok beállítása +Comment[is]=Stilling lita & leturgerða +Comment[it]=Configurazione tipi di carattere e colori +Comment[ja]=色とフォントの設定 +Comment[ka]=ფერთა და შრიფტთა კონფიგურაცია +Comment[kk]=Түс & Қаріп параметрлері +Comment[km]=ការកំណត់រចនាសម្ព័ន្ធពណ៌ & ពុម្ពអក្សរ +Comment[ko]=색과 글꼴 설정 +Comment[lt]=Spalvų ir šriftų konfigūravimas +Comment[mk]=Конфигурација на бои и фонтови +Comment[ms]=Warna & Konfigurasi fon +Comment[nb]=Oppsett av farger og skrifttyper +Comment[nds]=Klören un Schriftoorden instellen +Comment[ne]=रङ र फन्ट कन्फिगरेसन +Comment[nl]=Kleur- en lettertype-instellingen +Comment[nn]=Oppsett av fargar og skrifter +Comment[pl]=Konfiguracja czcionek i kolorów +Comment[pt]=Configuração das Cores e Tipos de Letra +Comment[pt_BR]=Configuração de Cores & Fontes +Comment[ru]=Настройка цветов и шрифтов +Comment[se]=Heivet ivnniid ja fonttaid +Comment[sk]=Nastavenie písiem a farieb +Comment[sl]=Nastavitev pisav in barv +Comment[sr]=Подешавање боја и фонтова +Comment[sr@Latn]=Podešavanje boja i fontova +Comment[sv]=Inställning av färger och teckensnitt +Comment[ta]=வண்ணங்கள்& எழுத்துருக்கள் கட்டமைப்பு +Comment[tg]=Танзимоти ранг ва ҳуруф +Comment[tr]=Renkler ve Yazı Tipleri Yapılandırması +Comment[uk]=Налаштування кольорів і шрифтів +Comment[zh_CN]=颜色和字体配置 +Comment[zh_TW]=設定顏色與字型 +Keywords=color,font, configuration +Keywords[af]=kleur,skrif tipe,opstelling,color,font +Keywords[ar]=لون,حرف, إعدادات,محرف,ألوان +Keywords[be]=колер, шрыфт, канфігурацыя, color, font, configuration +Keywords[bg]=цвят, шрифт, настройване, настройки color, font, configuration +Keywords[br]=liv,nodrezh, kefluniadur +Keywords[bs]=color,font, configuration,boja,boje,font,podešavanje +Keywords[ca]=color,lletres, configuració +Keywords[cs]=barva,písmo,nastavení +Keywords[da]=farve,skrifttype,indstilling +Keywords[de]=Farben,Schriftarten,Konfiguration,Einrichtung,Einstellungen +Keywords[el]=χρώμα,γραμματοσειρά, ρύθμιση +Keywords[en_GB]=colour,font, configuration +Keywords[eo]=koloro,tiparo, agordo +Keywords[es]=color, tipografía, configuración +Keywords[et]=värv, font, seadistamine +Keywords[eu]=kolore,letra-tipo, konfigurazioa +Keywords[fa]=رنگ، قلم، پیکربندی +Keywords[fi]=värit,kirjasimet,asetukset +Keywords[fr]=couleur,police,configuration,paramètres,réglages,couleurs,polices +Keywords[fy]=kleur,kleuren,font,lettertype,konfiguraasje,ynstellings,setup,opset +Keywords[ga]=dath,cló,cumraíocht +Keywords[gl]=cor,fonte, configuración +Keywords[he]=color,font, configuration,צבע,צבעים, גופנים, גופן, תצורה, הגדרה +Keywords[hu]=szín,betűtípus,beállítások +Keywords[is]=litir,letur, stillingar +Keywords[it]=colori, font, caratteri, configurazione +Keywords[ja]=色,フォント,設定 +Keywords[ka]=ფერები,შრიფტები, კონფიგურაცია +Keywords[km]=ពណ៌,ពុម្ពអក្សរ,ការកំណត់រចនាសម្ព័ន្ធ +Keywords[ko]=색,글꼴,설정 +Keywords[lt]=color,font, configuration, spalvų, šriftų konfigūravimas +Keywords[mk]=color,font,configuration,боја,фонт,конфигурација +Keywords[ms]=warna,fon, konfigurasi +Keywords[nb]=farge,skrifttype,oppsett +Keywords[nds]=Klöör,Schriftoort,instellen +Keywords[ne]=रङ, फन्ट, कन्फिगरेसन +Keywords[nl]=kleur,kleuren,font,lettertype,configuratie,instellingen,setup +Keywords[nn]=farge,skrift,oppsett +Keywords[pl]=kolor,czcionki,kolory,konfiguracja +Keywords[pt]=cor,tipo de letra, configuração +Keywords[pt_BR]=cor,fonte,configurar,configurações +Keywords[ru]=цвета,шрифты,настройка +Keywords[se]=ivdni,fonta,heivehus +Keywords[sk]=farba,písmo,nastavenie +Keywords[sl]=barva,barve,pisava,pisave,nastavi,nastavitve +Keywords[sr]=боја,фонт,подешавања +Keywords[sr@Latn]=boja,font,podešavanja +Keywords[sv]=färger,teckensnitt, inställningar +Keywords[ta]=Comment=வண்ணம்,எழுத்துரு, கட்டமைப்பு +Keywords[tg]=рангҳо,ҳуруфҳо,танзимот +Keywords[tr]=renk,yazı tipi, yapılandırma +Keywords[uk]=колір, шрифт, налаштування +Keywords[zh_CN]=color,font,configuration,颜色,字体,配置 diff --git a/certmanager/conf/kleopatra_config_dirserv.desktop b/certmanager/conf/kleopatra_config_dirserv.desktop new file mode 100644 index 000000000..7a50a7c41 --- /dev/null +++ b/certmanager/conf/kleopatra_config_dirserv.desktop @@ -0,0 +1,169 @@ +[Desktop Entry] +Icon=network +Type=Service +ServiceTypes=KCModule +DocPath=kleopatra/configuration.html#configuration-directory-services + +X-KDE-ModuleType=Library +X-KDE-Library=kleopatra +X-KDE-FactoryName=kleopatra_config_dirserv +X-KDE-HasReadOnlyMode=false +X-KDE-ParentApp=kleopatra +X-KDE-ParentComponents=kleopatra +X-KDE-CfgDlgHierarchy=Kleopatra + +Name=Directory Services +Name[ar]=خدمات الدليل +Name[bg]=Директорийни услуги +Name[bs]=Imenički servisi +Name[ca]=Serveis de directori +Name[cs]=Adresářové služby +Name[da]=Opslagstjeneste +Name[de]=Verzeichnisdienste +Name[el]=Υπηρεσίες καταλόγου +Name[eo]=Dosierujaj Servoj +Name[es]=Servicios de directorio +Name[et]=Kataloogiteenused +Name[eu]=Direktorio zerbitzuak +Name[fa]=خدمات فهرست راهنما +Name[fi]=Hakemistopalvelut +Name[fr]=Services d'annuaire +Name[fy]=Maptsjinsten +Name[ga]=Seirbhísí Eolaire +Name[gl]=Servicios de Directorio +Name[he]=שירותי ספרייה +Name[hu]=Címtárszolgáltatások +Name[is]=Nafnaþjónustur +Name[it]=Servizi Directory +Name[ja]=ディレクトリサービス +Name[ka]=საცნობარო მომსახურება +Name[kk]=Каталог қызметтері +Name[km]=សេវាថត +Name[ko]=디렉터리 서비스 +Name[lt]=Aplankų tarnybos +Name[mk]=Именички сервиси +Name[ms]=Servis Direktori +Name[nb]=Katalogtjenere +Name[nds]=Vertekendeensten +Name[ne]=डाइरेक्टरी कार्य +Name[nl]=Mapdiensten +Name[nn]=Katalogtenester +Name[pa]=ਡਾਇਰੈਕਟਰੀ ਸੇਵਾਵਾਂ +Name[pl]=Usługi katalogowe +Name[pt]=Serviços de Directório +Name[pt_BR]=Serviços de Diretório +Name[ru]=Службы каталогов +Name[se]=Ohcobálvalusat +Name[sk]=Adresárové služby +Name[sl]=Imeniške storitve +Name[sr]=Сервис директоријума +Name[sr@Latn]=Servis direktorijuma +Name[sv]=Katalogtjänster +Name[ta]= அடைவு சேவைகள் +Name[tg]=Кӯмакҳои каталог +Name[tr]=Dizin Servisleri +Name[uk]=Служби каталогів +Name[zh_CN]=目录服务 +Name[zh_TW]=目錄服務 +Comment=Configuration of LDAP directory services +Comment[af]=Opstelling van LDAP gids diens +Comment[bg]=Настройки на директорийните услуги LDAP +Comment[bs]=Podešavanje LDAP usluge imenika +Comment[ca]=Configuració dels serveis de directori LDAP +Comment[cs]=Nastavení adresářových služeb LDAP +Comment[da]=Indstilling af LDAP opslagstjeneste +Comment[de]=Einrichtung von LDAP-Verzeichnisdiensten +Comment[el]=Ρυθμίσεις των υπηρεσιών καταλόγου LDAP +Comment[eo]=Agordo de LDAP dosierujaj servoj +Comment[es]=Configuración de los servicios de directorio LDAP +Comment[et]=LDAP kataloogiteenuste seadistused +Comment[eu]=LDAP direktorio zerbitzuen konfigurazioa +Comment[fa]=پیکربندی خدمات فهرست راهنمای LDAP +Comment[fi]=Hakemistopalveluiden asetukset +Comment[fr]=Configuration des services d'annuaire LDAP +Comment[fy]=Konfiguraasje foar LDAP-tsjinsten +Comment[gl]=Configuración dos servicios de directorio LDAP +Comment[he]=תצורה של שירותי ספרייה עבור LDAP +Comment[hu]=Az LDAP címtárszolgáltatások beállításai +Comment[is]=Stillingar LDAP uppflettingaþjónustunnar +Comment[it]=Configurazione servizi LDAP +Comment[ja]=LDAP ディレクトリサービスの設定 +Comment[ka]=LDAP საცნობარო მომსახურების კონფიგურაცია +Comment[kk]=LDAP каталог қызметтер параметрлері +Comment[km]=ការកំណត់រចនាសម្ព័ន្ធរបស់សេវាថត LDAP +Comment[ko]=LDAP 디렉터리 서비스 설정 +Comment[lt]=LDAP aplankų tarnybų konfigūravimas +Comment[mk]=Конфигурација на LDAP-именички сервиси +Comment[ms]=Konfigurasi LDAP servis direktori +Comment[nb]=Oppsett av LDAP katalogtjenester +Comment[nds]=LDAP-Vertekendeensten instellen +Comment[ne]=LDAP डाइरेक्टरी कार्यको कन्फिगरेसन +Comment[nl]=Configuratie voor LDAP-diensten +Comment[nn]=Oppsett av LDAP-katalogtenester +Comment[pl]=Konfiguracja usług katalogowych LDAP +Comment[pt]=Configuração dos serviços de directório LDAP +Comment[pt_BR]=Configuração dos serviços de diretório LDAP +Comment[ru]=Настройка служб каталогов LDAP +Comment[se]=Heivet LDAP-ohcobálvalusaid +Comment[sk]=Nastavenie adresárových služieb LDAP +Comment[sl]=Nastavitve imeniških storitev LDAP +Comment[sr]= Подешавања LDAP сервиса директоријума +Comment[sr@Latn]= Podešavanja LDAP servisa direktorijuma +Comment[sv]=Inställning av LDAP-katalogtjänster +Comment[ta]= LDAP அடைவு சேவைகளின் கட்டமைப்பு +Comment[tg]=Танзимоти кӯмакҳои каталоги LDAP +Comment[tr]=LDAP dizin servislerinin yapılandırması +Comment[uk]=Налаштування служб каталогів LDAP +Comment[zh_CN]=LDAP 目录服务配置 +Comment[zh_TW]=設定 LDAP 目錄服務 +Keywords=ldap,directory,services +Keywords[af]=ldap,directory,services,gids +Keywords[be]=каталёг,сэрвісы,ldap,directory,services +Keywords[bg]=директорийни, услуги, ldap, directory, services +Keywords[br]=ldap,renkell,servijeroù +Keywords[bs]=ldap,directory,services,imenik,servis,usluga,imenički,imeničke,usluge +Keywords[ca]=ldap,directori,serveis +Keywords[cs]=LDAP,adresář,služby +Keywords[da]=ldap,opslag,tjenester +Keywords[de]=LDAP,Verzeichnis,Dienste,Verzeichnisdienst +Keywords[el]=ldap,κατάλογος,υπηρεσίες +Keywords[eo]=ldap,dosierujo,servoj +Keywords[es]=ldap,directorio,servicios +Keywords[et]=ldap,kataloog,teenused +Keywords[eu]=Idap, direktorio, zerbitzuak +Keywords[fa]=ldap، فهرست راهنما، خدمات +Keywords[fi]=ldap,hakemisto,palvelut +Keywords[fr]=ldap,annuaire,annuaires,service,services +Keywords[fy]=ldap,directory,services,triemtafel,tsjinsten +Keywords[ga]=ldap,eolaire,seirbhísí +Keywords[gl]=ldap,directorio,servicios +Keywords[he]=ldap,directory,services,ספרייה,שירותים +Keywords[hu]=ldap,címtár,szolgáltatások +Keywords[is]=ldap,directory,services,nafnaþjónusta +Keywords[it]=ldap, servizi, directory +Keywords[ja]=ldap,ディレクトリ,サービス +Keywords[ka]=ldap,ცნობარი,მომსახურება +Keywords[km]=ldap,ថត,សេវា +Keywords[ko]=ldap,디렉터리,서비스 +Keywords[lt]=ldap,directory,services,aplankai,tarnybos +Keywords[mk]=ldap,directory,services,именик,сервиси +Keywords[ms]=ldap,direktori,servis +Keywords[nb]=ldap,mappe,tjenester +Keywords[nds]=LDAP,Verteken,Deensten +Keywords[ne]=ldap,डाइरेक्टरी,कार्य +Keywords[nn]=ldap,katalog,tenester +Keywords[pl]=katalog,usługi katalogowe,usługi,LDAP +Keywords[pt]=ldap,directório,serviços +Keywords[pt_BR]=ldap,diretório,serviços +Keywords[ru]=LDAP,службы каталогов +Keywords[se]=ldap,ohcu,bálvalusat +Keywords[sk]=ldap,adresár,služby +Keywords[sl]=ldap,imenik,storitve +Keywords[sr]=ldap,директоријум,сервиси +Keywords[sr@Latn]=ldap,direktorijum,servisi +Keywords[sv]=ldap,katalog,tjänster +Keywords[ta]=ldap, அடைவு, சேவைகள் +Keywords[tg]=ldap,кӯмакҳои каталог +Keywords[tr]=ldap,dizin,servisler +Keywords[uk]=ldap,служби,каталогів +Keywords[zh_CN]=ldap,directory,services,目录,服务 diff --git a/certmanager/conf/kleopatra_config_dnorder.desktop b/certmanager/conf/kleopatra_config_dnorder.desktop new file mode 100644 index 000000000..dc46c3314 --- /dev/null +++ b/certmanager/conf/kleopatra_config_dnorder.desktop @@ -0,0 +1,164 @@ +[Desktop Entry] +Icon=looknfeel +Type=Service +ServiceTypes=KCModule +DocPath=kleopatra/configuration-dn-order.html + +X-KDE-ModuleType=Library +X-KDE-Library=kleopatra +X-KDE-FactoryName=kleopatra_config_dnorder +X-KDE-HasReadOnlyMode=false +X-KDE-ParentApp=kleopatra +X-KDE-ParentComponents=kleopatra +X-KDE-CfgDlgHierarchy=Kleopatra + +Name=DN-Attribute Order +Name[bg]=Подредба +Name[bs]=Redoslijed DN atributa +Name[ca]=Ordre d'atributs DN +Name[cs]=Pořadí DN atributů +Name[da]=DN-Attributrækkefølge +Name[de]=DN-Attribut-Ordnung +Name[el]=Σειρά ιδιότητας DN +Name[eo]=DN-Atributa Sinsekvo +Name[es]=Orden de atributos DN +Name[et]=DN-atribuutide järjekord +Name[eu]=DN-atributu ordena +Name[fa]=ترتیب خصیصۀ DN +Name[fi]=DN-attribuuttien järjestys +Name[fr]=Ordre des attributs DN +Name[fy]=DN-Attribuutoarder +Name[gl]=Orde de DN-Attribute +Name[he]=סדר של מאפייני DN +Name[hu]=DN-attribútumsorrend +Name[is]=DN eiginleikaröðun +Name[it]=Attributi DN, ordine +Name[ja]=DN 属性順位 +Name[ka]=DN ატრიბუტთა რიგი +Name[kk]=DN-атрибуттер реті +Name[km]=លំដាប់គុណលក្ខណៈ DN +Name[ko]=DN 분배 순서 +Name[lt]=DN-Savybių tvarka +Name[mk]=Редослед на DN-атрибути +Name[ms]=Tertib atribut DN +Name[nb]=DN-Attributtrekkefølge +Name[nds]=DN-Egenschappenreeg +Name[ne]=डीएन विशेषता आदेश +Name[nl]=DN-Attribuutvolgorde +Name[nn]=DN-attributtrekkjefølgje +Name[pl]=Porządek atrybutów DN +Name[pt]=Ordem de Atributos DN +Name[pt_BR]=Ordem do Atributo DN +Name[ru]=Порядок атрибутов DN +Name[se]=DN-attribuhttaortnet +Name[sk]=Poradie atribútov DN +Name[sl]=Vrstni red atributov DN +Name[sr]=DN-Атрибут ред +Name[sr@Latn]=DN-Atribut red +Name[sv]=DN-egenskapsordning +Name[ta]=DN-பண்புக்கூறு வரிசை +Name[tg]=Тартиби мушаххасияти DN +Name[tr]=DN-Öznitelik Sırası +Name[uk]=Порядок атрибутів DN +Name[zh_CN]=DN 属性顺序 +Name[zh_TW]=DN-屬性順序 +Comment=Configure the order in which DN attributes are shown +Comment[af]=Stel die volgorde op waarin DN eienskappe vertoon word +Comment[bg]=Настройки на подредбата на атрибутите на индекса (DN) +Comment[bs]=Podesite redoslijed kojim će biti prikazani DN atributi +Comment[ca]=Configura l'ordre en què es mostren els atributs DN +Comment[cs]=Nastavení pořadí zobrazení DN atributů +Comment[da]=Indstil rækkefølgen i hvilken DN-attributter vises +Comment[de]=Einrichtung für die Anzeigereihenfolge der DN-Attribute +Comment[el]=Ρύθμιση της σειράς εμφάνισης των ιδιοτήτων DN +Comment[eo]=Agordi la sinsekvon en kiu DN-atributoj aperas +Comment[es]=Configura el orden en el que se muestran los atributos DN +Comment[et]=DN-atribuutide näitamise järjekorra seadistamine +Comment[eu]=Konfiguratu DN atributuak zein ordenetan erakutsiko diren +Comment[fa]=پیکربندی ترتیبی که خصیصههای DN طبق آن نمایش داده میشوند +Comment[fi]=Määrittele missä järjestyksessä DN-attribuutit näytetään +Comment[fr]=Configurer l'ordre dans lequel les attributs DN sont affichés +Comment[fy]=De folchoarder fan de DN-atributen ynstelle +Comment[gl]=Configurar a orde en que se amosan os atributos DN +Comment[he]=הגדרה של הסדר שבהם מאפייני DN מוצגים +Comment[hu]=A DN-attribútumok megjelenítési sorrendjének beállítása +Comment[is]=Stilla röð DN eiginleikanna +Comment[it]=Configura l'ordine in cui sono mostrati gli attributi DN +Comment[ja]=DN 属性を表示する順位を設定 +Comment[ka]=DN ატრიბუტთა ჩვენების რიგის კონფიგურაცია +Comment[kk]=DN атрибуттерді көрсету ретін баптау +Comment[km]=កំណត់រចនាសម្ព័ន្ធលំដាប់ ដែលត្រូវបង្ហាញគុណលក្ខណៈ DN +Comment[lt]=Konfigūruoti DN savybių rodymo tvarką +Comment[mk]=Конфигурирајте го редоследот по кој се покажуваат DN-атрибутите +Comment[ms]=Konfigur tertib yang atribut DN dipaparkan +Comment[nb]=Still inn rekkefølgen DN-attributtene er sortert i +Comment[nds]=De Reeg bi't Wiesen vun DN-Egenschappen fastleggen +Comment[ne]=डीएन विशेषता देखिने आदेश कन्फिगर गर्नुहोस् +Comment[nl]=Stel de volgorde in van de DN-attributen +Comment[nn]=Vel kva rekkjefølgje DN-attributtane er sorterte i +Comment[pl]=Konfiguracja kolejności wyświetlania atrybutów DN +Comment[pt]=Configuração da ordem em que os atributos DN são mostrados +Comment[pt_BR]=Configura a ordem na qual os atributos DN são mostrados +Comment[ru]=Настройка порядка показываемых атрибутов DN +Comment[se]=Vállje makkár ortnegis DN-attribuhttat sorterejuvvojit +Comment[sk]=Nastavenie poradia, v ktorom sú zobrazené atribúty DN +Comment[sl]=Nastavite vrstni red, v katerem so prikazani atributi DN +Comment[sr]=Подешава ред којим су приказани DN атрибути +Comment[sr@Latn]=Podešava red kojim su prikazani DN atributi +Comment[sv]=Anpassa ordningen som DN-egenskaper visas +Comment[ta]= DN விவரங்கள் எந்த வரிசையில் உள்ளதோ அப்படியே அமை +Comment[tg]=Танзимоти мушаххасиятҳои намоишшавандаи тартибии DN +Comment[tr]=DN özniteliklerinin hangi sıralama ile gösterileceğini yapılandır +Comment[uk]=Налаштування порядку показу атрибутів DN +Comment[zh_CN]=配置 DN 属性显示的顺序 +Comment[zh_TW]=設定 DN 屬性顯示順序 +Keywords=DN,order,RDN,attribute +Keywords[af]=DN,order,RDN,attribute,volgorde,eienskap +Keywords[be]=парадак,атрыбут,DN,order,RDN,attribute +Keywords[bg]=индекс, ред, подредба, атрибут DN, order, RDN, attribute +Keywords[bs]=DN,order,RDN,attribute,redoslijed,atribut +Keywords[ca]=DN,ordre,RDN,atribut +Keywords[cs]=DN,pořadí,RDN,atribut +Keywords[da]=DN,rækkefølge,RDN,attribut +Keywords[de]=DN,Ordnung,RDN,Attribut +Keywords[el]=DN,σειρά,RDN,ιδιότητα +Keywords[eo]=DN,sinsekvo,ordo,RDN,atributo +Keywords[es]=DN,orden,RDN,atributo +Keywords[et]=DN,järjekord,RDN,atribuut +Keywords[eu]=DN, ordena, RDN, atributua +Keywords[fa]=DN، ترتیب، RDN، خصیصه +Keywords[fi]=DN,järjestys,RDN,attribuutti +Keywords[fr]=DN,ordre,RDN,attribut +Keywords[fy]=DN,Fochoarder,RDN,attribuut +Keywords[ga]=DN,ord,RDN,aitreabúid +Keywords[gl]=DN,orde,RDN,atributo +Keywords[he]=DN,order,RDN,attribute, סדר, מאפיין +Keywords[hu]=DN,sorrend,RDN,attribútum +Keywords[is]=DN,röð,order,RDN,attribute +Keywords[it]=DN,ordine,RDN,attributi +Keywords[ja]=DN,順位,RDN,属性 +Keywords[ka]=DN,რიგი,RDN,ატრიბუტი +Keywords[km]=DN,លំដាប់,RDN,គុណលក្ខណៈ +Keywords[lt]=DN,order,RDN,attribute,savybė,tvarka +Keywords[mk]=DN,order,RDN,attribute,редослед,атрибут +Keywords[ms]=DN,susunan,RDN,atribut +Keywords[nb]=DN,orden,RDN,attributt +Keywords[nds]=DN,Reeg,RDN,Egenschap +Keywords[ne]=डीएन,क्रम,आरडीएन, विशेषता +Keywords[nl]=DN,volgorde,RDN,attribuut +Keywords[nn]=DN,rekkjefølgje,RDN,attributt +Keywords[pl]=DN,kolejność,RDN,atrybuty +Keywords[pt]=DN,ordem,RDN,atributo +Keywords[pt_BR]=DN, ordem, RDN,atributo +Keywords[ru]=DN,порядок,RDN,атрибут +Keywords[se]=DN,ortnet,RDN,attribuhtta +Keywords[sk]=DN,poradie,RDN,atribút +Keywords[sl]=DN,vrstni red,RDN,atribut +Keywords[sr]=DN,ред,RDN,атрибут +Keywords[sr@Latn]=DN,red,RDN,atribut +Keywords[sv]=DN,ordning,RDN,egenskap +Keywords[ta]=DN,வரிசை,RDN,குணம் +Keywords[tg]=DN,тартибот,RDN,мушаххасот +Keywords[tr]=DN,sıralama,RDN,öznitelik +Keywords[uk]=DN,порядок,RDN,атрибут +Keywords[zh_CN]=DN,order,RDN,attribute,顺序,属性 |