diff options
Diffstat (limited to 'kcontrol/xinerama')
-rw-r--r-- | kcontrol/xinerama/Makefile.am | 18 | ||||
-rw-r--r-- | kcontrol/xinerama/kcmxinerama.cpp | 254 | ||||
-rw-r--r-- | kcontrol/xinerama/kcmxinerama.h | 62 | ||||
-rw-r--r-- | kcontrol/xinerama/xinerama.desktop | 202 | ||||
-rw-r--r-- | kcontrol/xinerama/xineramawidget.ui | 326 | ||||
-rw-r--r-- | kcontrol/xinerama/xineramawidget.ui.h | 14 |
6 files changed, 876 insertions, 0 deletions
diff --git a/kcontrol/xinerama/Makefile.am b/kcontrol/xinerama/Makefile.am new file mode 100644 index 000000000..5b0da6939 --- /dev/null +++ b/kcontrol/xinerama/Makefile.am @@ -0,0 +1,18 @@ +AM_CPPFLAGS = $(all_includes) + +kde_module_LTLIBRARIES = kcm_xinerama.la + +kcm_xinerama_la_SOURCES = kcmxinerama.cpp xineramawidget.ui + +kcm_xinerama_la_LDFLAGS = $(all_libraries) -module -avoid-version -no-undefined +kcm_xinerama_la_LIBADD = -lkdeui + +METASOURCES = AUTO + +noinst_HEADERS = kcmxinerama.h + +messages: rc.cpp + $(XGETTEXT) *.cpp -o $(podir)/kcmxinerama.pot + +xinerama_datadir = $(kde_appsdir)/.hidden +xinerama_data_DATA = xinerama.desktop diff --git a/kcontrol/xinerama/kcmxinerama.cpp b/kcontrol/xinerama/kcmxinerama.cpp new file mode 100644 index 000000000..229672f6e --- /dev/null +++ b/kcontrol/xinerama/kcmxinerama.cpp @@ -0,0 +1,254 @@ +/** + * kcmxinerama.cpp + * + * Copyright (c) 2002-2004 George Staikos <staikos@kde.org> + * + * This program 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. + * + * This program 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. + */ + + +#include "kcmxinerama.h" +#include <dcopclient.h> +#include <kaboutdata.h> +#include <kapplication.h> +#include <kconfig.h> +#include <kdialog.h> +#include <kglobal.h> +#include <kglobalsettings.h> +#include <klocale.h> +#include <kmessagebox.h> +#include <kwin.h> + +#include <qcheckbox.h> +#include <qlayout.h> +#include <qlabel.h> +#include <qcombobox.h> +#include <qtable.h> +#include <qcolor.h> +#include <qpushbutton.h> + + +KCMXinerama::KCMXinerama(QWidget *parent, const char *name) + : KCModule(parent, name) { + _indicators.setAutoDelete(true); + + KAboutData *about = + new KAboutData(I18N_NOOP("kcmxinerama"), + I18N_NOOP("KDE Multiple Monitor Configurator"), + 0, 0, KAboutData::License_GPL, + I18N_NOOP("(c) 2002-2003 George Staikos")); + + about->addAuthor("George Staikos", 0, "staikos@kde.org"); + setAboutData( about ); + + setQuickHelp( i18n("<h1>Multiple Monitors</h1> This module allows you to configure KDE support" + " for multiple monitors.")); + + config = new KConfig("kdeglobals", false, false); + ksplashrc = new KConfig("ksplashrc", false, false); + + connect(&_timer, SIGNAL(timeout()), this, SLOT(clearIndicator())); + + QGridLayout *grid = new QGridLayout(this, 1, 1, KDialog::marginHint(), + KDialog::spacingHint()); + + // Setup the panel + _displays = QApplication::desktop()->numScreens(); + + if (QApplication::desktop()->isVirtualDesktop()) { + QStringList dpyList; + xw = new XineramaWidget(this); + grid->addWidget(xw, 0, 0); + QString label = i18n("Display %1"); + + xw->headTable->setNumRows(_displays); + + for (int i = 0; i < _displays; i++) { + QString l = label.arg(i+1); + QRect geom = QApplication::desktop()->screenGeometry(i); + xw->_unmanagedDisplay->insertItem(l); + xw->_ksplashDisplay->insertItem(l); + dpyList.append(l); + xw->headTable->setText(i, 0, QString::number(geom.x())); + xw->headTable->setText(i, 1, QString::number(geom.y())); + xw->headTable->setText(i, 2, QString::number(geom.width())); + xw->headTable->setText(i, 3, QString::number(geom.height())); + } + + xw->_unmanagedDisplay->insertItem(i18n("Display Containing the Pointer")); + + xw->headTable->setRowLabels(dpyList); + + connect(xw->_ksplashDisplay, SIGNAL(activated(int)), + this, SLOT(windowIndicator(int))); + connect(xw->_unmanagedDisplay, SIGNAL(activated(int)), + this, SLOT(windowIndicator(int))); + connect(xw->_identify, SIGNAL(clicked()), + this, SLOT(indicateWindows())); + + connect(xw, SIGNAL(configChanged()), this, SLOT(changed())); + } else { // no Xinerama + QLabel *ql = new QLabel(i18n("<qt><p>This module is only for configuring systems with a single desktop spread across multiple monitors. You do not appear to have this configuration.</p></qt>"), this); + grid->addWidget(ql, 0, 0); + } + + grid->activate(); + + load(); +} + +KCMXinerama::~KCMXinerama() { + _timer.stop(); + delete ksplashrc; + ksplashrc = 0; + delete config; + config = 0; + clearIndicator(); +} + +#define KWIN_XINERAMA "XineramaEnabled" +#define KWIN_XINERAMA_MOVEMENT "XineramaMovementEnabled" +#define KWIN_XINERAMA_PLACEMENT "XineramaPlacementEnabled" +#define KWIN_XINERAMA_MAXIMIZE "XineramaMaximizeEnabled" +#define KWIN_XINERAMA_FULLSCREEN "XineramaFullscreenEnabled" + +void KCMXinerama::load() { + load( false ); +} + +void KCMXinerama::load(bool useDefaults) { + if (QApplication::desktop()->isVirtualDesktop()) { + int item = 0; + config->setReadDefaults( useDefaults ); + config->setGroup("Windows"); + xw->_enableXinerama->setChecked(config->readBoolEntry(KWIN_XINERAMA, true)); + xw->_enableResistance->setChecked(config->readBoolEntry(KWIN_XINERAMA_MOVEMENT, true)); + xw->_enablePlacement->setChecked(config->readBoolEntry(KWIN_XINERAMA_PLACEMENT, true)); + xw->_enableMaximize->setChecked(config->readBoolEntry(KWIN_XINERAMA_MAXIMIZE, true)); + xw->_enableFullscreen->setChecked(config->readBoolEntry(KWIN_XINERAMA_FULLSCREEN, true)); + item = config->readNumEntry("Unmanaged", QApplication::desktop()->primaryScreen()); + if ((item < 0 || item >= _displays) && (item != -3)) + xw->_unmanagedDisplay->setCurrentItem(QApplication::desktop()->primaryScreen()); + else if (item == -3) // pointer warp + xw->_unmanagedDisplay->setCurrentItem(_displays); + else xw->_unmanagedDisplay->setCurrentItem(item); + + ksplashrc->setGroup("Xinerama"); + item = ksplashrc->readNumEntry("KSplashScreen", QApplication::desktop()->primaryScreen()); + if (item < 0 || item >= _displays) + xw->_ksplashDisplay->setCurrentItem(QApplication::desktop()->primaryScreen()); + else xw->_ksplashDisplay->setCurrentItem(item); + + emit changed(useDefaults); + } + else + emit changed( false ); +} + + +void KCMXinerama::save() { + if (QApplication::desktop()->isVirtualDesktop()) { + config->setGroup("Windows"); + config->writeEntry(KWIN_XINERAMA, + xw->_enableXinerama->isChecked()); + config->writeEntry(KWIN_XINERAMA_MOVEMENT, + xw->_enableResistance->isChecked()); + config->writeEntry(KWIN_XINERAMA_PLACEMENT, + xw->_enablePlacement->isChecked()); + config->writeEntry(KWIN_XINERAMA_MAXIMIZE, + xw->_enableMaximize->isChecked()); + config->writeEntry(KWIN_XINERAMA_FULLSCREEN, + xw->_enableFullscreen->isChecked()); + int item = xw->_unmanagedDisplay->currentItem(); + config->writeEntry("Unmanaged", item == _displays ? -3 : item); + config->sync(); + + if (!kapp->dcopClient()->isAttached()) + kapp->dcopClient()->attach(); + kapp->dcopClient()->send("kwin", "", "reconfigure()", ""); + + ksplashrc->setGroup("Xinerama"); + ksplashrc->writeEntry("KSplashScreen", xw->_enableXinerama->isChecked() ? xw->_ksplashDisplay->currentItem() : -2 /* ignore Xinerama */); + ksplashrc->sync(); + } + + KMessageBox::information(this, i18n("Your settings will only affect newly started applications."), i18n("KDE Multiple Monitors"), "nomorexineramaplease"); + + emit changed(false); +} + +void KCMXinerama::defaults() { + load( true ); +} + +void KCMXinerama::indicateWindows() { + _timer.stop(); + + clearIndicator(); + for (int i = 0; i < _displays; i++) + _indicators.append(indicator(i)); + + _timer.start(1500, true); +} + +void KCMXinerama::windowIndicator(int dpy) { + if (dpy >= _displays) + return; + + _timer.stop(); + + clearIndicator(); + _indicators.append(indicator(dpy)); + + _timer.start(1500, true); +} + +QWidget *KCMXinerama::indicator(int dpy) { + QLabel *si = new QLabel(QString::number(dpy+1), 0, "Screen Indicator", WX11BypassWM ); + + QFont fnt = KGlobalSettings::generalFont(); + fnt.setPixelSize(100); + si->setFont(fnt); + si->setFrameStyle(QFrame::Panel); + si->setFrameShadow(QFrame::Plain); + si->setAlignment(Qt::AlignCenter); + + QPoint screenCenter(QApplication::desktop()->screenGeometry(dpy).center()); + QRect targetGeometry(QPoint(0,0), si->sizeHint()); + targetGeometry.moveCenter(screenCenter); + si->setGeometry(targetGeometry); + si->show(); + + return si; +} + +void KCMXinerama::clearIndicator() { + _indicators.clear(); +} + +extern "C" { + KDE_EXPORT KCModule *create_xinerama(QWidget *parent, const char *name) { + KGlobal::locale()->insertCatalogue("kcmxinerama"); + return new KCMXinerama(parent, name); + } + + KDE_EXPORT bool test_xinerama() { + return QApplication::desktop()->isVirtualDesktop(); + } +} + + +#include "kcmxinerama.moc" + diff --git a/kcontrol/xinerama/kcmxinerama.h b/kcontrol/xinerama/kcmxinerama.h new file mode 100644 index 000000000..07b835fbc --- /dev/null +++ b/kcontrol/xinerama/kcmxinerama.h @@ -0,0 +1,62 @@ +/** + * kcmxinerama.h + * + * Copyright (c) 2002-2004 George Staikos <staikos@kde.org> + * + * This program 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. + * + * This program 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. + */ + +#ifndef _KCM_XINERAMA_H +#define _KCM_XINERAMA_H + +#include <kcmodule.h> +#include <qptrlist.h> +#include <qtimer.h> + +#include "xineramawidget.h" + +class KConfig; +class QWidget; + +class KCMXinerama : public KCModule { + Q_OBJECT +public: + KCMXinerama(QWidget *parent = 0L, const char *name = 0L); + virtual ~KCMXinerama(); + + void load(); + void load(bool useDefaults ); + void save(); + void defaults(); + +public slots: + void windowIndicator(int dpy); + void clearIndicator(); + + void indicateWindows(); + +private: + QWidget* indicator(int dpy); + KConfig *config, *ksplashrc; + XineramaWidget *xw; + QTimer _timer; + QPtrList<QWidget> _indicators; + + int _displays; + +}; + +#endif + diff --git a/kcontrol/xinerama/xinerama.desktop b/kcontrol/xinerama/xinerama.desktop new file mode 100644 index 000000000..5adb0f363 --- /dev/null +++ b/kcontrol/xinerama/xinerama.desktop @@ -0,0 +1,202 @@ +[Desktop Entry] +Icon=identity +Type=Application +Exec=kcmshell xinerama +DocPath=kcontrol/multiplemonitors.html + +X-KDE-Library=xinerama +X-KDE-Test-Module=true +Name=Multiple Monitors +Name[af]=Veelvuldige Skerms +Name[ar]=شاشات متعددة +Name[be]=Некалькі манітораў +Name[bg]=Многомониторен режим +Name[bn]=একাধিক মনিটর +Name[br]=Lies skramm +Name[bs]=Višestruki monitori +Name[ca]=Múltiples monitors +Name[cs]=Více monitorů +Name[csb]=Wiele mònitorów +Name[cy]=Dangosyddion Lluosol +Name[da]=Flere skærme +Name[de]=Mehrere Monitore +Name[el]=Πολλαπλές οθόνες +Name[eo]=Oblaj ekranoj +Name[es]=Varios monitores +Name[et]=Mitu monitori +Name[eu]=Monitore anitz +Name[fa]=نمایشگرهای چندگانه +Name[fi]=Useita näyttöjä +Name[fr]=Moniteurs multiples +Name[fy]=Meardere byldskermen +Name[ga]=Scáileáin Iomadúla +Name[gl]=Múltiplos Monitores +Name[he]=מספר מסכים +Name[hi]=अनेक मॉनीटर्स +Name[hr]=Višestruki monitori +Name[hu]=Több képernyő kezelése +Name[is]=Margir skjáir +Name[it]=Monitor multipli +Name[ja]=マルチモニタ +Name[ka]=რამდენიმე მონიტორი +Name[kk]=Бірнеше мониторлар +Name[km]=ម៉ូនីទ័រច្រើន +Name[ko]=다중 모니터 +Name[lt]=Keli monitoriai +Name[lv]=Vairāki monitori +Name[mk]=Повеќе монитори +Name[mn]=Олон монитор +Name[ms]=Berbilang Monitor +Name[mt]=Skrinijiet multipli +Name[nb]=Flere skjermer +Name[nds]=Mehr as een Schirm +Name[ne]=बहुविध मोनिटर +Name[nl]=Meerdere monitoren +Name[nn]=Fleire skjermar +Name[pa]=ਬਹੁ ਮਾਨੀਟਰ +Name[pl]=Wiele monitorów +Name[pt]=Vários Monitores +Name[pt_BR]=Múltiplos Monitores +Name[ro]=Monitoare multiple +Name[ru]=Несколько мониторов +Name[rw]=Mugaragaza Zitandukanye +Name[se]=Máŋggaid searpma +Name[sk]=Viac monitorov +Name[sl]=Več zaslonov +Name[sr]=Више монитора +Name[sr@Latn]=Više monitora +Name[sv]=Flera bildskärmar +Name[ta]=பல திரைகள் +Name[tg]=Чанд намоишгар +Name[th]=หลายจอภาพ +Name[tr]=Çoklu Monitör +Name[tt]=Berniçä Küräk +Name[uk]=Комбінація моніторів +Name[uz]=Bir nechta monitor +Name[uz@cyrillic]=Бир нечта монитор +Name[vi]=Nhiều Màn hình +Name[wa]=Multi-waitroûles +Name[zh_CN]=多个监视器 +Name[zh_TW]=多重顯示器 +Comment=Configure KDE for multiple monitors +Comment[af]=Stel KDE vir veelvuldige skerms op +Comment[ar]=إعداد KDE لإستعمال الشاشات المتعددة +Comment[be]=Настаўленні KDE для працы з некалькімі маніторамі +Comment[bg]=Настройване на системата за поддръжка на много монитори +Comment[bn]=একাধিক মনিটরের জন্য কে.ডি.ই কনফিগার করুন +Comment[br]=Kefluniañ KDE gant meur a skrammoù +Comment[bs]=Podesite KDE za više monitora +Comment[ca]=Configura KDE per a múltiples monitors +Comment[cs]=Nastavení KDE pro více monitorů +Comment[csb]=Kònfigùracëjô KDE przë wielu mònitorach +Comment[cy]=Ffurfweddu dangosyddion lluosol i KDE +Comment[da]=Indstil KDE for flere skærme +Comment[de]=KDE für mehrere Monitore einrichten +Comment[el]=Ρύθμιση του KDE για πολλαπλές οθόνες +Comment[eo]=Agordu KDE por oblaj ekranoj +Comment[es]=Configuración de KDE para varios monitores +Comment[et]=KDE seadistamine mitme monitori kasutamiseks +Comment[eu]=Konfiguratu KDE monitore aniztasunerako +Comment[fa]=پیکربندی نمایشگرهای چندگانه +Comment[fi]=Muokkaa KDE sopivaksi usealle näytölle +Comment[fr]=Configuration de KDE pour l'utilisation de moniteurs multiples +Comment[fy]=Hjir kinne jo KDE foar meardere byldskermen ynstelle +Comment[gl]=Configurar KDE para múltiplos monitores +Comment[he]=הגדר את KDE לשימוש במספר מסכים +Comment[hi]=अनेक मॉनीटर्स के लिए केडीई कॉन्फ़िगर करें +Comment[hr]=Konfiguriranje KDE-a za više monitora +Comment[hu]=Több monitor használata a KDE-ben +Comment[is]=Stilla KDE fyrir marga skjái +Comment[it]=Configura KDE per utilizzare più monitor +Comment[ja]=KDE を複数のモニタ向けに設定 +Comment[ka]=რამდენიმე მონიტორისთვის KDE -ს კონფიგურაცია +Comment[kk]=KDE-ні бірнеше мониторлар үшін баптау +Comment[km]=កំណត់រចនាសម្ព័ន្ធ KDE សម្រាប់ម៉ូនីទ័រច្រើន +Comment[ko]=KDE 다중 모니터 설정 +Comment[lt]=Konfigūruoti KDE keliems monitoriams +Comment[lv]=Konfigure KDE priekš vairākiem monitoriem +Comment[mk]=Конфигурирајте го KDE за повеќе монитори +Comment[mn]=КДЭ олон монитор тохируулах +Comment[ms]=Konfigur KDE untuk berbilang monitor +Comment[mt]=Konfigurazzjoni tal-KDE għal skrinijiet multipli +Comment[nb]=Tilpass KDE for flere skjermer +Comment[nds]=KDE för mehr as een Schirm instellen +Comment[ne]=बहुविध मोनिटरका लागि KDE कन्फिगर गर्नुहोस् +Comment[nl]=Hier kunt u KDE voor meerdere monitoren instellen +Comment[nn]=Set opp KDE for fleire skjermar +Comment[pa]=ਕਈ ਮਾਨੀਟਰਾਂ ਲਈ KDE ਸੰਰਚਨਾ ਕਰੋ +Comment[pl]=Konfiguracja KDE przy wielu monitorach +Comment[pt]=Configuração do KDE para vários monitores +Comment[pt_BR]=Configura o KDE para o uso de múltiplos monitores +Comment[ro]=Configurează KDE pentru monitoare multiple +Comment[ru]=Настройка KDE для нескольких мониторов +Comment[rw]=Kuboneza KDE kuri mugaragaza zitandukanye +Comment[se]=Heivet KDE:a máŋggaid šearpma várás +Comment[sk]=Nastavenie KDE pre viac monitorov +Comment[sl]=Nastavite KDE za več zaslonov +Comment[sr]=Подешавање KDE-а за више монитора +Comment[sr@Latn]=Podešavanje KDE-a za više monitora +Comment[sv]=Anpassa KDE för flera bildskärmar +Comment[ta]=பலவிதமான திரைகளுக்கு KDEஐ வடிவமை +Comment[tg]=Танзими KDE барои намоишгарҳои виртуалӣ +Comment[th]=ปรับแต่ง KDE สำหรับใช้กับจอภาพหลายจอ +Comment[tr]=KDE'yi çoklu monitör kullanmak için yapılandır +Comment[tt]=KDE'nıñ berniçä küräk belän eşläw caylawı +Comment[uk]=Налаштування декількох моніторів для KDE +Comment[uz]=KDE'ni bir nechta monitor uchun moslash +Comment[uz@cyrillic]=KDE'ни бир нечта монитор учун мослаш +Comment[vi]=Cấu hình KDE cho nhiều màn hình +Comment[wa]=Apontyî KDE po on håynaedje so sacwantès waitroûles +Comment[zh_CN]=配置 KDE 的多个监视器 +Comment[zh_TW]=設定 KDE 支援多重顯示器 +Keywords=Xinerama,dual head,multihead,monitor +Keywords[ar]=Xinerama,dual head,multihead,monitor,ثنائي الرؤوس,متعدد الرؤوس,شاشة +Keywords[be]=Два маніторы,Манітор,Некалькі манітораў,Дысплей,Xinerama,dual head,multihead,monitor +Keywords[bg]=много, монитори, монитор, екран, дисплей, Xinerama, dual head, multihead, monitor +Keywords[ca]=Xinerama,dual head,doble dispositiu,multihead,multiples dispositius,monitor +Keywords[csb]=Xinerama,dwa mònitorë,wiele mònitorów,mònitor +Keywords[cy]=Xinerama,pen deuol,amlben,dangosydd +Keywords[da]=Xinerama,dualt hovede,multihovede,skærm +Keywords[de]=inerama,dual head,multihead,monitor +Keywords[el]=Xinerama,dual head,multihead,οθόνη +Keywords[eo]=duobla,duoblaj,oblaj,ekrano,ekranoj +Keywords[et]=Xinerama,kaks monitori,mitu monitori,monitor +Keywords[eu]=Xinerama,dual head,multihead,monitorea +Keywords[fa]=Xinerama، سرآیند دوگان، سرآیند چندگانه، نمایشگر +Keywords[fi]=Xinerama,näyttö,kaksi näyttöä,useita näyttöjä +Keywords[fr]=Xinerama,dual head,multihead,moniteur,multitête,double écran, multiécran +Keywords[fy]=Xinerama,dual head,multihead,monitor,byldskerm +Keywords[gl]=Xinerama,cabeza dual,cabeza múltiple,monitor +Keywords[he]=Xinerama,דו ראשי,רב ראשי,מסך, dual head,multihead,monitor +Keywords[hi]=सिनेरामा,ड्यूएल हेड,मल्टी-हेड,मॉनीटर +Keywords[hr]=Xinerama,dual head,multihead,monitor,višestruki monitori +Keywords[hu]=Xinerama,két fejes,két fej,monitor +Keywords[it]=Xinerama,dual head,multihead,monitor,monitor multipli +Keywords[ja]=Xinerama,デュアルヘッド,マルチヘッド,モニタ +Keywords[km]=Xinerama,ក្បាលពីរ,ក្បាលច្រើន,ម៉ូនីទ័រ +Keywords[lt]=Xinerama,dual head,multihead,monitor,dviejų monitorių,monitorius +Keywords[lv]=Xinerama,dual head,multihead,monitori +Keywords[mk]=Xinerama,dual head,multihead,monitor,монитор +Keywords[mn]=Xinerama,dual head,multihead,монитор +Keywords[nb]=Xinerama,to skjermer,flere skjermer,skjerm,monitor +Keywords[nds]=Xinerama,dual head,multihead,monitor,Mehrschirmbedrief,Dubbelschirm +Keywords[ne]=जिनेरामा, डअल हेड, मल्टिहेड, मनिटर +Keywords[nl]=Xinerama,dual head,multihead,monitor,beeldscherm +Keywords[nn]=Xinerama,to skjermar,fleire skjermar,skjerm,monitor +Keywords[pa]=Xinerama,dual head,multihead,monitor, ਦੋ ਮਾਨੀਟਰ, ਮਾਨੀਟਰ +Keywords[pl]=Xinerama,dwa monitory,wiele monitorów,monitor +Keywords[pt]=xinerama,vários monitores,multihead,monitor +Keywords[pt_BR]=Xinerama,monitores,multihead,monitor +Keywords[rw]=Xinerama,umutwe nyabibiri,mitwemyinshi,mugaragaza +Keywords[sl]=Xinerama,dual head,multihead,monitor,zaslon,dva +Keywords[sr]=Xinerama,dual head,multihead,monitor,монитор,више монитора +Keywords[sr@Latn]=Xinerama,dual head,multihead,monitor,monitor,više monitora +Keywords[sv]=Xinerama,dubbla skärmar,flera skärmar,bildskärm +Keywords[ta]= Xinerama,இரட்டை தலைப்பு,பலதலைப்பு,திரை +Keywords[th]=Xinerama,หัวต่อคู่,หลายหัวต่อ,จอภาพ +Keywords[tr]=Xinerama,çift ekran,çoklu ekran,monitör +Keywords[uk]=Xinerama,dual head,multihead,монітор,комбінація моніторів +Keywords[uz@cyrillic]=Xinerama,dual head,multihead,монитор +Keywords[vi]=Xinerama,đầu kép,đa đầu,màn hình +Keywords[wa]=Xinerama,deus waitroûles,multi-waitroûles,waitroûle,dual head,multihead +Keywords[zh_CN]=Xinerama,dual head,multihead,monitor,双头,多头,监视器,显示器 diff --git a/kcontrol/xinerama/xineramawidget.ui b/kcontrol/xinerama/xineramawidget.ui new file mode 100644 index 000000000..cab732afd --- /dev/null +++ b/kcontrol/xinerama/xineramawidget.ui @@ -0,0 +1,326 @@ +<!DOCTYPE UI><UI version="3.3" stdsetdef="1"> +<class>XineramaWidget</class> +<widget class="QWidget"> + <property name="name"> + <cstring>XineramaWidget</cstring> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>658</width> + <height>389</height> + </rect> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QTable" row="1" column="0" rowspan="1" colspan="2"> + <column> + <property name="text"> + <string>X Coordinate</string> + </property> + </column> + <column> + <property name="text"> + <string>Y Coordinate</string> + </property> + </column> + <column> + <property name="text"> + <string>Width</string> + </property> + </column> + <column> + <property name="text"> + <string>Height</string> + </property> + </column> + <property name="name"> + <cstring>headTable</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="vScrollBarMode"> + <enum>Auto</enum> + </property> + <property name="hScrollBarMode"> + <enum>Auto</enum> + </property> + <property name="numRows"> + <number>2</number> + </property> + <property name="numCols"> + <number>4</number> + </property> + <property name="showGrid"> + <bool>true</bool> + </property> + <property name="readOnly"> + <bool>true</bool> + </property> + <property name="selectionMode"> + <enum>NoSelection</enum> + </property> + <property name="focusStyle"> + <enum>FollowStyle</enum> + </property> + </widget> + <widget class="QButtonGroup" row="0" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>ButtonGroup1</cstring> + </property> + <property name="title"> + <string>Multiple Monitor Support</string> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QCheckBox"> + <property name="name"> + <cstring>_enableXinerama</cstring> + </property> + <property name="text"> + <string>Enable multiple monitor virtual desktop support</string> + </property> + </widget> + <widget class="QCheckBox"> + <property name="name"> + <cstring>_enableResistance</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>Enable multiple monitor window resistance support</string> + </property> + </widget> + <widget class="QCheckBox"> + <property name="name"> + <cstring>_enablePlacement</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>Enable multiple monitor window placement support</string> + </property> + </widget> + <widget class="QCheckBox"> + <property name="name"> + <cstring>_enableMaximize</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>Enable multiple monitor window maximize support</string> + </property> + </widget> + <widget class="QCheckBox"> + <property name="name"> + <cstring>_enableFullscreen</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>Enable multiple monitor window fullscreen support</string> + </property> + </widget> + </vbox> + </widget> + <widget class="QPushButton" row="3" column="1"> + <property name="name"> + <cstring>_identify</cstring> + </property> + <property name="text"> + <string>&Identify All Displays</string> + </property> + </widget> + <spacer row="3" column="0"> + <property name="name"> + <cstring>spacer2</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>431</width> + <height>21</height> + </size> + </property> + </spacer> + <widget class="QLayoutWidget" row="2" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>layout2</cstring> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel" row="0" column="0"> + <property name="name"> + <cstring>TextLabel2</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>Show unmanaged windows on:</string> + </property> + <property name="buddy" stdset="0"> + <cstring>_unmanagedDisplay</cstring> + </property> + </widget> + <widget class="QComboBox" row="1" column="1"> + <property name="name"> + <cstring>_ksplashDisplay</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + </widget> + <widget class="QLabel" row="1" column="0"> + <property name="name"> + <cstring>TextLabel2_2</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>Show KDE splash screen on:</string> + </property> + <property name="buddy" stdset="0"> + <cstring>_unmanagedDisplay</cstring> + </property> + </widget> + <widget class="QComboBox" row="0" column="1"> + <property name="name"> + <cstring>_unmanagedDisplay</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + </widget> + </grid> + </widget> + </grid> +</widget> +<connections> + <connection> + <sender>_enableXinerama</sender> + <signal>toggled(bool)</signal> + <receiver>_enableResistance</receiver> + <slot>setEnabled(bool)</slot> + </connection> + <connection> + <sender>_enableXinerama</sender> + <signal>toggled(bool)</signal> + <receiver>_enablePlacement</receiver> + <slot>setEnabled(bool)</slot> + </connection> + <connection> + <sender>_enableXinerama</sender> + <signal>toggled(bool)</signal> + <receiver>_enableMaximize</receiver> + <slot>setEnabled(bool)</slot> + </connection> + <connection> + <sender>_enableXinerama</sender> + <signal>toggled(bool)</signal> + <receiver>TextLabel2</receiver> + <slot>setEnabled(bool)</slot> + </connection> + <connection> + <sender>_enableXinerama</sender> + <signal>toggled(bool)</signal> + <receiver>_unmanagedDisplay</receiver> + <slot>setEnabled(bool)</slot> + </connection> + <connection> + <sender>_enableXinerama</sender> + <signal>clicked()</signal> + <receiver>XineramaWidget</receiver> + <slot>emitConfigChanged()</slot> + </connection> + <connection> + <sender>_enableResistance</sender> + <signal>clicked()</signal> + <receiver>XineramaWidget</receiver> + <slot>emitConfigChanged()</slot> + </connection> + <connection> + <sender>_enablePlacement</sender> + <signal>clicked()</signal> + <receiver>XineramaWidget</receiver> + <slot>emitConfigChanged()</slot> + </connection> + <connection> + <sender>_enableMaximize</sender> + <signal>clicked()</signal> + <receiver>XineramaWidget</receiver> + <slot>emitConfigChanged()</slot> + </connection> + <connection> + <sender>_unmanagedDisplay</sender> + <signal>activated(int)</signal> + <receiver>XineramaWidget</receiver> + <slot>emitConfigChanged()</slot> + </connection> + <connection> + <sender>_enableXinerama</sender> + <signal>toggled(bool)</signal> + <receiver>TextLabel2_2</receiver> + <slot>setEnabled(bool)</slot> + </connection> + <connection> + <sender>_enableXinerama</sender> + <signal>toggled(bool)</signal> + <receiver>_ksplashDisplay</receiver> + <slot>setEnabled(bool)</slot> + </connection> + <connection> + <sender>_ksplashDisplay</sender> + <signal>activated(int)</signal> + <receiver>XineramaWidget</receiver> + <slot>emitConfigChanged()</slot> + </connection> + <connection> + <sender>_enableFullscreen</sender> + <signal>clicked()</signal> + <receiver>XineramaWidget</receiver> + <slot>emitConfigChanged()</slot> + </connection> + <connection> + <sender>_enableXinerama</sender> + <signal>toggled(bool)</signal> + <receiver>_enableFullscreen</receiver> + <slot>setEnabled(bool)</slot> + </connection> +</connections> +<includes> + <include location="local" impldecl="in implementation">kdialog.h</include> + <include location="local" impldecl="in implementation">xineramawidget.ui.h</include> +</includes> +<signals> + <signal>configChanged()</signal> +</signals> +<slots> + <slot access="private">emitConfigChanged()</slot> +</slots> +<layoutdefaults spacing="3" margin="6"/> +<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/> +</UI> diff --git a/kcontrol/xinerama/xineramawidget.ui.h b/kcontrol/xinerama/xineramawidget.ui.h new file mode 100644 index 000000000..8373eadd2 --- /dev/null +++ b/kcontrol/xinerama/xineramawidget.ui.h @@ -0,0 +1,14 @@ +/**************************************************************************** +** ui.h extension file, included from the uic-generated form implementation. +** +** If you wish to add, delete or rename functions or slots use +** Qt Designer which will update this file, preserving your code. Create an +** init() function in place of a constructor, and a destroy() function in +** place of a destructor. +*****************************************************************************/ + + +void XineramaWidget::emitConfigChanged() +{ +emit configChanged(); +} |