mirror of
https://bitbucket.org/smil3y/kde-workspace.git
synced 2025-02-23 18:32:50 +00:00
merge kcontrol files from kde-runtime
This commit is contained in:
parent
4956fb024a
commit
8b8cf26e2c
96 changed files with 16153 additions and 0 deletions
|
@ -35,6 +35,15 @@ add_subdirectory( desktoptheme )
|
|||
add_subdirectory( standard_actions )
|
||||
add_subdirectory( keys )
|
||||
add_subdirectory( workspaceoptions )
|
||||
add_subdirectory( icons )
|
||||
add_subdirectory( locale )
|
||||
add_subdirectory( kded )
|
||||
add_subdirectory( knotify )
|
||||
add_subdirectory( componentchooser )
|
||||
add_subdirectory( menus )
|
||||
add_subdirectory( dnssd )
|
||||
add_subdirectory( emoticons )
|
||||
add_subdirectory( spellchecking )
|
||||
|
||||
# TODO needs porting
|
||||
#add_subdirectory( smartcard )
|
||||
|
|
51
kcontrol/componentchooser/CMakeLists.txt
Normal file
51
kcontrol/componentchooser/CMakeLists.txt
Normal file
|
@ -0,0 +1,51 @@
|
|||
|
||||
add_subdirectory( componentservices )
|
||||
add_subdirectory( windowmanagers )
|
||||
|
||||
|
||||
|
||||
########### next target ###############
|
||||
|
||||
set(kcm_componentchooser_SRCS
|
||||
componentchooser.cpp
|
||||
componentchooserbrowser.cpp
|
||||
componentchooserfilemanager.cpp
|
||||
componentchooseremail.cpp
|
||||
kcm_componentchooser.cpp
|
||||
)
|
||||
|
||||
if(NOT WIN32)
|
||||
set(kcm_componentchooser_SRCS ${kcm_componentchooser_SRCS}
|
||||
componentchooserterminal.cpp ktimerdialog.cpp)
|
||||
endif(NOT WIN32)
|
||||
|
||||
if(Q_WS_X11)
|
||||
set(kcm_componentchooser_SRCS ${kcm_componentchooser_SRCS}
|
||||
componentchooserwm.cpp )
|
||||
endif(Q_WS_X11)
|
||||
|
||||
|
||||
kde4_add_ui_files(kcm_componentchooser_SRCS
|
||||
browserconfig_ui.ui
|
||||
filemanagerconfig_ui.ui
|
||||
emailclientconfig_ui.ui
|
||||
componentchooser_ui.ui
|
||||
componentconfig_ui.ui
|
||||
)
|
||||
|
||||
if(NOT WIN32)
|
||||
kde4_add_ui_files(kcm_componentchooser_SRCS terminalemulatorconfig_ui.ui wmconfig_ui.ui)
|
||||
endif(NOT WIN32)
|
||||
|
||||
kde4_add_plugin(kcm_componentchooser ${kcm_componentchooser_SRCS})
|
||||
|
||||
|
||||
target_link_libraries(kcm_componentchooser ${KDE4_KIO_LIBS})
|
||||
|
||||
install(TARGETS kcm_componentchooser DESTINATION ${PLUGIN_INSTALL_DIR} )
|
||||
|
||||
|
||||
########### install files ###############
|
||||
|
||||
install( FILES componentchooser.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
|
||||
|
184
kcontrol/componentchooser/EXAMPLE.desktop
Normal file
184
kcontrol/componentchooser/EXAMPLE.desktop
Normal file
|
@ -0,0 +1,184 @@
|
|||
Name=A nice name you have chosen for your interface
|
||||
Name[af]='n oulike naam jy het gekies vir jou koppelvlak
|
||||
Name[ar]=اسم جميل قمت باختياره لواجهتك
|
||||
Name[ast]=Un prestosu nome qu'escueyas pa la interface
|
||||
Name[be]=Файная назва, якую вы выбралі для свайго інтэрфейса
|
||||
Name[be@latin]=Nazva, vybranaja dla tvajho interfejsu
|
||||
Name[bg]=Име на компонент
|
||||
Name[bn]=আপনার ইন্টারফেসের জন্য আপনার পছন্দ করা সুন্দর একটা নাম
|
||||
Name[bn_IN]=ইন্টারফেসের জন্য একটি ভাল নাম নির্ধারিত হয়েছে
|
||||
Name[bs]=Lijepo ime koje ste izabrali za svoje sučelje
|
||||
Name[ca]=Un bonic nom que heu triat per a la interfície
|
||||
Name[ca@valencia]=Un bonic nom que heu triat per a la interfície
|
||||
Name[cs]=Hezký název pro vaše rozhraní
|
||||
Name[csb]=Miłé miono, jaczé òstało wëbróné dlô programë
|
||||
Name[cy]=Enw neis yr ydych wedi dewis am eich rhyngwyneb
|
||||
Name[da]=Et godt navn som du har valgt for din grænseflade
|
||||
Name[de]=Der von Ihnen gewählte Name für die Schnittstelle
|
||||
Name[el]=Ένα όμορφο όνομα που έχετε επιλέξει για τη διασύνδεσή σας
|
||||
Name[en_GB]=A nice name you have chosen for your interface
|
||||
Name[eo]=Plaĉa nomo, kiun vi elektis por via interfaco
|
||||
Name[es]=Un bonito nombre de su elección para su interfaz
|
||||
Name[et]=Mõni kena nimi, mille sa oma liidesele valinud oled
|
||||
Name[eu]=Zure interfazerako aukeratu duzun izen polit bat
|
||||
Name[fa]=لقبی که برای واسط خود انتخاب کردهاید
|
||||
Name[fi]=Valitsemasi nimi rajapinnalle
|
||||
Name[fr]=Un joli nom que vous avez choisi pour votre interface
|
||||
Name[fy]=In namme dy jo koazen ha foar jo ynterface
|
||||
Name[ga]=Ainm deas a chuir tú ar do chomhéadan
|
||||
Name[gl]=Un bon nome que escolleu para a súa interface
|
||||
Name[gu]=તમારા ઇન્ટરફેસ માટે તમે પસંદ કરેલ સરસ નામ
|
||||
Name[he]=שם נחמד שבחרת לממשק שלך
|
||||
Name[hi]=आपने अपने इंटरफेस के लिए एक अच्छा नाम चुना है
|
||||
Name[hne]=आप मन अपन इंटरफेस बर एक अच्छा नाम चुने हव
|
||||
Name[hr]=Naziv koji ste odabrali za vaše sučelje
|
||||
Name[hsb]=Rjane mjeno sće wubrali za Waš interfejs
|
||||
Name[hu]=Egy Ön által választott név a felülethez
|
||||
Name[ia]=Un nomine gratiose que tu ha seligite pro tu interfacie
|
||||
Name[id]=Anda telah memilih sebuah nama yang bagus untuk antarmuka anda
|
||||
Name[is]=Vingjarnlegt nafn þú hefur valið fyrir umhverfið þitt
|
||||
Name[it]=Un bel nome per la tua interfaccia
|
||||
Name[ja]=あなたのインターフェースに素敵な名前を付けてください
|
||||
Name[ka]=მშვენიერი სახელია ინტერფეისისთვის
|
||||
Name[kk]=Интерфейсіңізге таңдаған атауыңыз
|
||||
Name[km]=ឈ្មោះដ៏ល្អមួយដែលអ្នកបានជ្រើសសម្រាប់ចំណុចប្រទាក់របស់អ្នក
|
||||
Name[kn]=ನಿನ್ನ ಸಂಪರ್ಕತಟ (ಇಂಟರ್ಫೇಸ್) ಗೆ ನೀನು ಆರಿಸಿರುವ ಒಂದು ಒಳ್ಳೆಯ ಹೆಸರು
|
||||
Name[ko]=인터페이스에 지정할 이름
|
||||
Name[ku]=te ji bo navrûyê navelî xweş hilbijart
|
||||
Name[lt]=Gražus vardas, kurį Jūs pasirinkote savo sąsajai
|
||||
Name[lv]=Jauks nosaukums, ko jūs izvēlējāties savai saskarnei
|
||||
Name[mai]=अहाँ अपन इंटरफेस क' लेल एकटा नीक नाम चुननै छी
|
||||
Name[mk]=Убаво име што сте го избрале за вашиот интерфејс
|
||||
Name[ml]=നിങ്ങളുടെ വിനിമയതലത്തിനു് നിങ്ങള് തെരഞ്ഞെടുത്ത മനോഹരമായൊരു പേരു്
|
||||
Name[mr]=तुम्ही संवादपट करिता एक चांगले नाव निवडले आहे
|
||||
Name[ms]=Nama yang anda pilih untuk antara muka anda
|
||||
Name[nb]=Et fint navn som du har valgt for grensesnittet
|
||||
Name[nds]=Dor hest Du Di'n smucken Naam för Dien Koppelsteed utsöcht
|
||||
Name[ne]=तपाईँले इन्टरफेसका लागि रोजेको नाम राम्रो छ
|
||||
Name[nl]=Een naam die u hebt gekozen voor uw interface
|
||||
Name[nn]=Eit fint namn du har valt for grensesnittet
|
||||
Name[or]=ଆପଣ ଆପଣଙ୍କର ଅନ୍ତରାପୃଷ୍ଠ ପାଇଁ ପସନ୍ଦ କରିଥିବା ଗୋଟିଏ ସୁନ୍ଦର ନାମ
|
||||
Name[pa]=ਆਪਣੇ ਇੰਟਰਫੇਸ ਲਈ ਇੱਕ ਸੋਹਣਾ ਨਾਂ ਚੁਣੋ
|
||||
Name[pl]=Zgrabna nazwa, którą wybrano dla interfejsu
|
||||
Name[pt]=Um nome bonito que escolheu para a sua interface
|
||||
Name[pt_BR]=Um bom nome que você escolheu para a sua interface
|
||||
Name[ro]=Un nume drăguț ales de dumneavoastră pentru interfață
|
||||
Name[ru]=Имя, которое вы выбрали для своего интерфейса
|
||||
Name[se]=Du lavtta čáppa namma
|
||||
Name[si]=ඔබේ අතුරුමුහුණතෙහි භාවිත වන නාමය.
|
||||
Name[sk]=Pekný názov pre vaše rozhranie
|
||||
Name[sl]=Lepo ime, ki ste ga izbrali za svoj vmesnik
|
||||
Name[sr]=Лепо име које сте изабрали за своје сучеље
|
||||
Name[sr@ijekavian]=Лијепо име које сте изабрали за своје сучеље
|
||||
Name[sr@ijekavianlatin]=Lijepo ime koje ste izabrali za svoje sučelje
|
||||
Name[sr@latin]=Lepo ime koje ste izabrali za svoje sučelje
|
||||
Name[sv]=Ett bra namn som du har valt för gränssnittet
|
||||
Name[ta]=உங்கள் இடைமுகத்துக்கு நல்ல பெயரை தேர்ந்தெடுத்துள்ளீர்கள்
|
||||
Name[te]=మీ ఇంటర్ఫేస్ కొరకు ఒక మంచిపేరును మీరు ఎంచుకొనినారు
|
||||
Name[tg]=Номи аҷоибе, ки шумо барои интерфейси худ интихоб кардед
|
||||
Name[th]=ชื่อดี ๆ ที่คุณเลือกสำหรับระบบติดต่อผู้ใช้ของคุณ
|
||||
Name[tr]=Arayüzünüz için seçtiğiniz güzel isim
|
||||
Name[ug]=ئارايۈزگە ئاتتىن بىرنى تاللاڭ
|
||||
Name[uk]=Гарна назва, вибрана вами для вашого інтерфейсу
|
||||
Name[uz]=Interfeysingiz uchun chiroyli nom
|
||||
Name[uz@cyrillic]=Интерфейсингиз учун чиройли ном
|
||||
Name[vi]=Một cái tên đẹp bạn đã chọn cho giao diện của mình
|
||||
Name[wa]=On clapant no ki vos avoz tchoezi po voste eterface
|
||||
Name[xh]=Igama elihle olikhetileyo kujongano lwakho
|
||||
Name[x-test]=xxA nice name you have chosen for your interfacexx
|
||||
Name[zh_CN]=您为界面选择的好名字
|
||||
Name[zh_TW]=您為您的界面選擇的好名字
|
||||
Comment=A helpful description of the interface for the top right info box
|
||||
Comment[af]='n hulpvaardig beskrywing van die koppelvlak vir die bo regterkant inligting boks
|
||||
Comment[ar]=وصف مفيد للواجهة للواجهة لصندوق المعلومات في الزاوية العلوية اليمنى
|
||||
Comment[ast]=Una descripción útil de la interface pal cuadru d'información superior derechu
|
||||
Comment[be]=Карыснае апісанне інтэрфейсу для інфармацыйнай скрыні ў правым верхнім куце
|
||||
Comment[be@latin]=Apisańnie dla vierchniaha pravaha pola źviestak
|
||||
Comment[bg]=Описание на компонент
|
||||
Comment[bn]=ইন্টারফেসটির সহজবোধ্য বর্ণনা, উপরে ডানদিকের ইনফো বক্স-এর জন্য
|
||||
Comment[bn_IN]=উপরে ডিনদিকে অবস্থিত পরিচিত নির্দেশকারী বক্সে প্রদর্শনের উদ্দেশ্যে এই ইন্টারফেসের একটি সহায়ক বর্ণনা।
|
||||
Comment[bs]=Opis sučelja za gornje desno informativno polje
|
||||
Comment[ca]=Una descripció útil de la interfície per al rètol informatiu superior dret
|
||||
Comment[ca@valencia]=Una descripció útil de la interfície per al rètol informatiu superior dret
|
||||
Comment[cs]=Smysluplný popis vašeho rozhraní pro informační box
|
||||
Comment[csb]=Pòmòcny òpisënk programë (dlô wëdowiédzë w oczénkù w prawim, górnym rogù)
|
||||
Comment[cy]=Disgrifiad cymorthwyol o'r rhyngwyneb i'r blwch gwybodaeth top de
|
||||
Comment[da]=En nyttig beskrivelse af grænsefladen for infofeltet øverst til højre
|
||||
Comment[de]=Hilfreiche Beschreibung der Schnittstelle für das Infofeld rechts oben
|
||||
Comment[el]=Μια χρήσιμη περιγραφή της διασύνδεσης για το πάνω δεξιά πλαίσιο πληροφοριών
|
||||
Comment[en_GB]=A helpful description of the interface for the top right info box
|
||||
Comment[eo]=Helpema priskribo de la interfaco por la supre-dekstra informkesto
|
||||
Comment[es]=Una descripción útil de la interfaz para el cuadro de información superior derecho
|
||||
Comment[et]=Abiks kirjeldus
|
||||
Comment[eu]=Interfazearen deskribapen lagungarria, goian eskuinean azalduko den informazio-koadrorako
|
||||
Comment[fa]=یک توصیف مفید واسط برای سمت راست بالای جعبه اطلاعات
|
||||
Comment[fi]=Tässä pitäisi olla pieni kuvaus rajapinnasta oikean yläkulman laatikkoon
|
||||
Comment[fr]=Une description utile de l'interface pour la boîte d'informations en haut à droite
|
||||
Comment[fy]=In helpzame omskriuwing fan de ynterface, Wat bedoelt is foar it ynformaasjefak rjochtboppe
|
||||
Comment[ga]=Cur síos cabhrach ar chomhéadan an bhosca faisnéise ag an mbarr ar dheis
|
||||
Comment[gl]=Unha descrición da interface para o botón de información de riba á dereita
|
||||
Comment[gu]=જમણી બાજુનાં માહિતી ખાનાં માટે ઇન્ટરફેસનું મદદરૂપ વર્ણન
|
||||
Comment[he]=תיאור שימושי של הממשק בשביל תיבת המידע המוצגת מצד שמאל למעלה
|
||||
Comment[hi]=ऊपरी दाएँ कोने के जानकारी बाक्स के इंटरफेस का उपयोगी वर्णन.
|
||||
Comment[hne]=ऊपर के जेवनी कोना के जानकारी डब्बा के इंटरफेस के उपयोगी वर्नन.
|
||||
Comment[hr]=Koristan opis sučelja u info-okviru gore desno
|
||||
Comment[hsb]=Spomožne wopisanje interfejsa za informaciski kašćik horjeka naprawo.
|
||||
Comment[hu]=A felület leírása a jobb felső sarokban található tájékoztató ablakhoz
|
||||
Comment[ia]=Un description utile del interface pro le cassa de info in alto a dextera
|
||||
Comment[id]=Deskripsi yang berguna tentang antarmuka untuk kotak info di kanan atas
|
||||
Comment[is]=Jamm, hér ætti að vera smá lýsing á viðbótinni
|
||||
Comment[it]=Un'utile descrizione dell'interfaccia per la casella delle informazioni
|
||||
Comment[ja]=右上の情報ボックスのためのインターフェースに関する説明
|
||||
Comment[kk]=Жоғары оң жақтағы мәлімет терезесі үшін интерфейстің сипаттамасы
|
||||
Comment[km]=សេចក្ដីពិពណ៌នាដ៏មានប្រយោជន៍របស់ចំណុចប្រទាក់សម្រាប់ប្រអប់ព័ត៌មានខាងស្ដាំកំពូល
|
||||
Comment[kn]=ಮೇಲ್ಬಲಭಾಗದ ಮಾಹಿತಿ ಚೌಕದ ಸಂಪರ್ಕತಟದ (ಇಂಟರ್ಫೇಸ್) ಬಗೆಗಿನ ಒಂದು ಉಪಯುಕ್ತ ವಿವರಣೆ
|
||||
Comment[ko]=오른쪽 위 정보 상자의 인터페이스에 대한 설명
|
||||
Comment[ku]=Ravekirineke alîker ji bo agahiya qutîka jor-rastê a navrûyê
|
||||
Comment[lt]=Naudingas sąsajos aprašymas, skirtas viršutinei dešinei informacijos langelio daliai
|
||||
Comment[lv]=Noderīgs saskarnes apraksts augšējai labajai informācijas rūtij
|
||||
Comment[mai]=ऊपरका दहिन्ना कोना केर सूचना बाक्स केर इंटरफेस क' उपयोगी वर्णन.
|
||||
Comment[mk]=Опис со објаснување за интерфејсот за горното десно поле за инфо.
|
||||
Comment[ml]=വലത്തു് മുകളിലായുള്ള വിവരം നല്കുന്ന കളത്തില് കാണിയ്ക്കാനായി നിങ്ങളുടെ വിനിമയതലത്തിനുള്ള സഹായകരമായ ഒരു വിവരണം.
|
||||
Comment[mr]=वरील उजव्या कोपऱ्या वरील माहिती बॉक्स संवादपट करिता उपयोगी वर्णन
|
||||
Comment[ms]=Huraian antara muka yang sangat membantu untuk kotak maklumat kanan atas
|
||||
Comment[nb]=Beskrivelse av grensesnittet for infoboksen øverst til høyre
|
||||
Comment[nds]=En hölpsche Beschrieven vun de Koppelsteed för den Info-Kasten rechterhand baven
|
||||
Comment[ne]=माथिको दायाँ सूचना बाकसका लागि इन्टरफेसको उपयोगी वर्णन
|
||||
Comment[nl]=Een behulpzame omschrijving van de interface, bedoelt voor het informatievak rechts boven
|
||||
Comment[nn]=Ei hjelpsam skildring av grensesnittet for infoboksen oppe til høgre
|
||||
Comment[or]=ଡ଼ାହାଣ ପାଖ ଉପର ଅଂଶ ସୂଚନା ବାକ୍ସ ପାଇଁ ଅନ୍ତରାପୃଷ୍ଠର ଗୋଟିଏ ସହାୟକ ବର୍ଣ୍ଣନା
|
||||
Comment[pa]=ਸੱਜੇ ਜਾਣਕਾਰੀ ਬਕਸੇ ਲਈ ਇੰਟਰਫੇਸ ਲ਼ਈ ਮੱਦਦ ਵੇਰਵਾ
|
||||
Comment[pl]=Pomocny opis programu (dla informacji w okienku w prawym, górnym rogu)
|
||||
Comment[pt]=Uma descrição útil da interface para a zona de informação do canto superior direito
|
||||
Comment[pt_BR]=Uma descrição útil da interface para a caixa de informação superior direita
|
||||
Comment[ro]=Aici trebuie să fie descrierea interfeței pentru căsuța din dreapta-sus
|
||||
Comment[ru]=Полезное описание интерфейса в верхнем правом информационном окне
|
||||
Comment[se]=Laktaválddahus maid infoboksa badjin olgešbealde geavaha.
|
||||
Comment[si]=ඉහළ දකුණු තොරතුරු කොටුවේ ප්රයෝජනවත් විස්තර
|
||||
Comment[sk]=Pomocný popis rozhrania pre informačný box v pravom hornom rohu
|
||||
Comment[sl]=Primeren opis vmesnika za gornjo desno okno z podrobnostmi
|
||||
Comment[sr]=Опис сучеља за горње десно информативно поље
|
||||
Comment[sr@ijekavian]=Опис сучеља за горње десно информативно поље
|
||||
Comment[sr@ijekavianlatin]=Opis sučelja za gornje desno informativno polje
|
||||
Comment[sr@latin]=Opis sučelja za gornje desno informativno polje
|
||||
Comment[sv]=Hjälpsam beskrivning av gränssnittet för informationsrutan uppe till höger
|
||||
Comment[ta]=மேல் வலது தகவல் பெட்டிக்கான பயனுள்ள விவர இடைமுகம்
|
||||
Comment[te]=పైన కుడప్రక్కనగల సమాచార పెట్టె ఇంటర్పేస్ యొక్క సహాయకర వివరణ
|
||||
Comment[tg]=Тафсилоти кӯмаккунандаи интерфейс барои варақаи маълумот дар боло аз тарафи рост
|
||||
Comment[th]=คำอธิบายเกี่ยวกับรูปแบบส่วนติดต่อสำหรับกล่องข้อมูลด้านขวาบน
|
||||
Comment[tr]=Sağ üst bilgi kutucuğu için arayüzün açıklayıcı tanımı
|
||||
Comment[ug]=ئوڭ ئۈستى ئۇچۇر قۇتىسىدا كۆرۈنىدىغان ئارايۈز ياردەم چۈشەندۈرۈشى
|
||||
Comment[uk]=Допоміжний опис інтерфейсу для віконця інформації вгорі праворуч
|
||||
Comment[vi]=Một mô tả giao diện có ích cho hộp thông tin ở trên cùng bên phải
|
||||
Comment[wa]=Èn ahessåve discrijhaedje di l' eterface, pol boesse d' infôrmåcion del coine å dzeu a droete
|
||||
Comment[xh]=Uchazo oluluncedo lojongano olungaphezulu ekunene kwebhokisi yolwazi
|
||||
Comment[x-test]=xxA helpful description of the interface for the top right info boxxx
|
||||
Comment[zh_CN]=右上方信息框中显示的界面描述
|
||||
Comment[zh_TW]=用於右上方資訊方塊界面的有用敘述
|
||||
|
||||
configurationType=Possible values are component and application. Only component is handled at the moment though
|
||||
ServiceTypeToConfigure=The service type, which should be configured. If this line is empty you have to provide a plugin (not supported yet)
|
||||
defaultImplementation=The name of the default implementation as it would be returned by KService::desktopEntryName()
|
||||
storeInFile=default_components //the file where the setting should be saved (default_components sounds reasonable for a central storage)
|
||||
valueSection=The desktop section, where the setting should be stored
|
||||
valueName=the name of the value entry
|
3
kcontrol/componentchooser/Messages.sh
Normal file
3
kcontrol/componentchooser/Messages.sh
Normal file
|
@ -0,0 +1,3 @@
|
|||
#! /usr/bin/env bash
|
||||
$EXTRACTRC *.ui >> rc.cpp
|
||||
$XGETTEXT *.cpp -o $podir/kcmcomponentchooser.pot
|
130
kcontrol/componentchooser/browserconfig_ui.ui
Normal file
130
kcontrol/componentchooser/browserconfig_ui.ui
Normal file
|
@ -0,0 +1,130 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>BrowserConfig_UI</class>
|
||||
<widget class="QWidget" name="BrowserConfig_UI">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string><qt>Open <b>http</b> and <b>https</b> URLs</qt></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="radioKIO">
|
||||
<property name="text">
|
||||
<string>in an application based on the contents of the URL</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="radioExec">
|
||||
<property name="text">
|
||||
<string>in the following browser:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout">
|
||||
<item>
|
||||
<spacer>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="KLineEdit" name="lineExec">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="btnSelectBrowser">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Expanding</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>KLineEdit</class>
|
||||
<extends>QLineEdit</extends>
|
||||
<header location="global">KDE/KLineEdit</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>radioExec</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>lineExec</receiver>
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>20</x>
|
||||
<y>20</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>20</x>
|
||||
<y>20</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>radioExec</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>btnSelectBrowser</receiver>
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>20</x>
|
||||
<y>20</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>20</x>
|
||||
<y>20</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
291
kcontrol/componentchooser/componentchooser.cpp
Normal file
291
kcontrol/componentchooser/componentchooser.cpp
Normal file
|
@ -0,0 +1,291 @@
|
|||
/***************************************************************************
|
||||
componentchooser.cpp - description
|
||||
-------------------
|
||||
copyright : (C) 2002 by Joseph Wenninger
|
||||
email : jowenn@kde.org
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License verstion 2 as *
|
||||
* published by the Free Software Foundation *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
#include "componentchooser.h"
|
||||
#include "componentchooser.moc"
|
||||
|
||||
#include "componentchooserbrowser.h"
|
||||
#include "componentchooseremail.h"
|
||||
#include "componentchooserfilemanager.h"
|
||||
#ifdef Q_OS_UNIX
|
||||
#include "componentchooserterminal.h"
|
||||
#endif
|
||||
#ifdef Q_WS_X11
|
||||
#include "componentchooserwm.h"
|
||||
#endif
|
||||
|
||||
#include <QCheckBox>
|
||||
|
||||
#include <klocale.h>
|
||||
#include <kmessagebox.h>
|
||||
#include <kconfig.h>
|
||||
#include <kstandarddirs.h>
|
||||
#include <kmimetypetrader.h>
|
||||
#include <kurlrequester.h>
|
||||
#include <ktoolinvocation.h>
|
||||
#include <klauncher_iface.h>
|
||||
#include <kconfiggroup.h>
|
||||
#include <KServiceTypeTrader>
|
||||
|
||||
//BEGIN General kpart based Component selection
|
||||
|
||||
CfgComponent::CfgComponent(QWidget *parent)
|
||||
: QWidget(parent), Ui::ComponentConfig_UI(), CfgPlugin()
|
||||
{
|
||||
setupUi( this );
|
||||
connect(ComponentSelector,SIGNAL(activated(const QString&)),this,SLOT(slotComponentChanged(const QString&)));
|
||||
}
|
||||
|
||||
CfgComponent::~CfgComponent()
|
||||
{
|
||||
}
|
||||
|
||||
void CfgComponent::slotComponentChanged(const QString&) {
|
||||
emit changed(true);
|
||||
}
|
||||
|
||||
void CfgComponent::save(KConfig *cfg) {
|
||||
// yes, this can happen if there are NO KTrader offers for this component
|
||||
if (!m_lookupDict.contains(ComponentSelector->currentText()))
|
||||
return;
|
||||
|
||||
KConfigGroup mainGroup = cfg->group(QByteArray());
|
||||
QString serviceTypeToConfigure=mainGroup.readEntry("ServiceTypeToConfigure");
|
||||
KConfig store(mainGroup.readPathEntry("storeInFile", "null"));
|
||||
KConfigGroup cg(&store, mainGroup.readEntry("valueSection"));
|
||||
cg.writePathEntry(mainGroup.readEntry("valueName", "kcm_componenchooser_null"),
|
||||
m_lookupDict.value(ComponentSelector->currentText()));
|
||||
store.sync();
|
||||
emit changed(false);
|
||||
}
|
||||
|
||||
void CfgComponent::load(KConfig *cfg) {
|
||||
|
||||
ComponentSelector->clear();
|
||||
m_lookupDict.clear();
|
||||
m_revLookupDict.clear();
|
||||
|
||||
const KConfigGroup mainGroup = cfg->group(QByteArray());
|
||||
const QString serviceTypeToConfigure = mainGroup.readEntry("ServiceTypeToConfigure");
|
||||
|
||||
const KService::List offers = KServiceTypeTrader::self()->query(serviceTypeToConfigure);
|
||||
|
||||
for (KService::List::const_iterator tit = offers.begin(); tit != offers.end(); ++tit) {
|
||||
ComponentSelector->addItem((*tit)->name());
|
||||
m_lookupDict.insert((*tit)->name(), (*tit)->desktopEntryName());
|
||||
m_revLookupDict.insert((*tit)->desktopEntryName(), (*tit)->name());
|
||||
}
|
||||
|
||||
KConfig store(mainGroup.readPathEntry("storeInFile","null"));
|
||||
const KConfigGroup group(&store, mainGroup.readEntry("valueSection"));
|
||||
QString setting = group.readEntry(mainGroup.readEntry("valueName","kcm_componenchooser_null"), QString());
|
||||
|
||||
if (setting.isEmpty())
|
||||
setting = mainGroup.readEntry("defaultImplementation", QString());
|
||||
QString tmp = m_revLookupDict.value(setting);
|
||||
if (!tmp.isEmpty()) {
|
||||
for (int i=0;i<ComponentSelector->count();i++)
|
||||
if (tmp==ComponentSelector->itemText(i))
|
||||
{
|
||||
ComponentSelector->setCurrentIndex(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
emit changed(false);
|
||||
}
|
||||
|
||||
void CfgComponent::defaults()
|
||||
{
|
||||
//todo
|
||||
}
|
||||
|
||||
//END General kpart based Component selection
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ComponentChooser::ComponentChooser(QWidget *parent):
|
||||
QWidget(parent), Ui::ComponentChooser_UI(), somethingChanged(false), configWidget(0)
|
||||
{
|
||||
setupUi(this);
|
||||
static_cast<QGridLayout*>(layout())->setRowStretch(1, 1);
|
||||
|
||||
const QStringList services=KGlobal::dirs()->findAllResources( "data","kcm_componentchooser/*.desktop",
|
||||
KStandardDirs::NoDuplicates);
|
||||
for (QStringList::const_iterator it=services.constBegin(); it!=services.constEnd(); ++it)
|
||||
{
|
||||
KConfig cfg(*it, KConfig::SimpleConfig);
|
||||
KConfigGroup cg = cfg.group(QByteArray());
|
||||
QListWidgetItem *item = new QListWidgetItem(
|
||||
KIcon(cg.readEntry("Icon",QString("preferences-desktop-default-applications"))),
|
||||
cg.readEntry("Name",i18n("Unknown")));
|
||||
item->setData(Qt::UserRole, (*it));
|
||||
ServiceChooser->addItem(item);
|
||||
}
|
||||
ServiceChooser->setFixedWidth(ServiceChooser->sizeHintForColumn(0) + 20);
|
||||
ServiceChooser->sortItems();
|
||||
connect(ServiceChooser,SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)),this,SLOT(slotServiceSelected(QListWidgetItem*)));
|
||||
ServiceChooser->setCurrentRow(0);
|
||||
slotServiceSelected(ServiceChooser->item(0));
|
||||
|
||||
}
|
||||
|
||||
void ComponentChooser::slotServiceSelected(QListWidgetItem* it) {
|
||||
if (!it) return;
|
||||
|
||||
if (somethingChanged) {
|
||||
if (KMessageBox::questionYesNo(this,i18n("<qt>You changed the default component of your choice, do want to save that change now ?</qt>"),QString(),KStandardGuiItem::save(),KStandardGuiItem::discard())==KMessageBox::Yes) save();
|
||||
}
|
||||
KConfig cfg(it->data(Qt::UserRole).toString(), KConfig::SimpleConfig);
|
||||
|
||||
ComponentDescription->setText(cfg.group(QByteArray()).readEntry("Comment",i18n("No description available")));
|
||||
ComponentDescription->setMinimumSize(ComponentDescription->sizeHint());
|
||||
|
||||
|
||||
QString cfgType=cfg.group(QByteArray()).readEntry("configurationType");
|
||||
QWidget *newConfigWidget = 0;
|
||||
if (cfgType.isEmpty() || (cfgType=="component"))
|
||||
{
|
||||
if (!(configWidget && qobject_cast<CfgComponent*>(configWidget)))
|
||||
{
|
||||
CfgComponent* cfgcomp = new CfgComponent(configContainer);
|
||||
cfgcomp->ChooserDocu->setText(i18n("Choose from the list below which component should be used by default for the %1 service.", it->text()));
|
||||
newConfigWidget = cfgcomp;
|
||||
}
|
||||
else
|
||||
{
|
||||
static_cast<CfgComponent*>(configWidget)->ChooserDocu->setText(i18n("Choose from the list below which component should be used by default for the %1 service.", it->text()));
|
||||
}
|
||||
}
|
||||
else if (cfgType=="internal_email")
|
||||
{
|
||||
if (!(configWidget && qobject_cast<CfgEmailClient*>(configWidget)))
|
||||
{
|
||||
newConfigWidget = new CfgEmailClient(configContainer);
|
||||
}
|
||||
|
||||
}
|
||||
#ifdef Q_OS_UNIX
|
||||
else if (cfgType=="internal_terminal")
|
||||
{
|
||||
if (!(configWidget && qobject_cast<CfgTerminalEmulator*>(configWidget)))
|
||||
{
|
||||
newConfigWidget = new CfgTerminalEmulator(configContainer);
|
||||
}
|
||||
|
||||
}
|
||||
#ifdef Q_WS_X11
|
||||
else if (cfgType=="internal_wm")
|
||||
{
|
||||
if (!(configWidget && qobject_cast<CfgWm*>(configWidget)))
|
||||
{
|
||||
newConfigWidget = new CfgWm(configContainer);
|
||||
}
|
||||
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
else if (cfgType=="internal_filemanager")
|
||||
{
|
||||
if (!(configWidget && qobject_cast<CfgFileManager*>(configWidget)))
|
||||
{
|
||||
newConfigWidget = new CfgFileManager(configContainer);
|
||||
}
|
||||
|
||||
}
|
||||
else if (cfgType=="internal_browser")
|
||||
{
|
||||
if (!(configWidget && qobject_cast<CfgBrowser*>(configWidget)))
|
||||
{
|
||||
newConfigWidget = new CfgBrowser(configContainer);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (newConfigWidget)
|
||||
{
|
||||
configContainer->addWidget(newConfigWidget);
|
||||
configContainer->setCurrentWidget (newConfigWidget);
|
||||
configContainer->removeWidget(configWidget);
|
||||
delete configWidget;
|
||||
configWidget=newConfigWidget;
|
||||
connect(configWidget,SIGNAL(changed(bool)),this,SLOT(emitChanged(bool)));
|
||||
configContainer->setMinimumSize(configWidget->sizeHint());
|
||||
}
|
||||
|
||||
if (configWidget)
|
||||
dynamic_cast<CfgPlugin*>(configWidget)->load(&cfg);
|
||||
|
||||
emitChanged(false);
|
||||
latestEditedService=it->data(Qt::UserRole).toString();
|
||||
}
|
||||
|
||||
|
||||
void ComponentChooser::emitChanged(bool val) {
|
||||
somethingChanged=val;
|
||||
emit changed(val);
|
||||
}
|
||||
|
||||
|
||||
ComponentChooser::~ComponentChooser()
|
||||
{
|
||||
delete configWidget;
|
||||
}
|
||||
|
||||
void ComponentChooser::load() {
|
||||
if( configWidget )
|
||||
{
|
||||
CfgPlugin * plugin = dynamic_cast<CfgPlugin*>( configWidget );
|
||||
if( plugin )
|
||||
{
|
||||
KConfig cfg(latestEditedService, KConfig::SimpleConfig);
|
||||
plugin->load( &cfg );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ComponentChooser::save() {
|
||||
if( configWidget )
|
||||
{
|
||||
CfgPlugin* plugin = dynamic_cast<CfgPlugin*>( configWidget );
|
||||
if( plugin )
|
||||
{
|
||||
KConfig cfg(latestEditedService, KConfig::SimpleConfig);
|
||||
plugin->save( &cfg );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ComponentChooser::restoreDefault() {
|
||||
if (configWidget)
|
||||
{
|
||||
dynamic_cast<CfgPlugin*>(configWidget)->defaults();
|
||||
emitChanged(true);
|
||||
}
|
||||
|
||||
/*
|
||||
txtEMailClient->setText("kmail");
|
||||
chkRunTerminal->setChecked(false);
|
||||
|
||||
// Check if -e is needed, I do not think so
|
||||
terminalLE->setText("xterm"); //No need for i18n
|
||||
terminalCB->setChecked(true);
|
||||
emitChanged(false);
|
||||
*/
|
||||
}
|
||||
|
||||
// vim: sw=4 ts=4 noet
|
250
kcontrol/componentchooser/componentchooser.desktop
Normal file
250
kcontrol/componentchooser/componentchooser.desktop
Normal file
|
@ -0,0 +1,250 @@
|
|||
[Desktop Entry]
|
||||
Exec=kcmshell4 componentchooser
|
||||
Icon=preferences-desktop-default-applications
|
||||
Type=Service
|
||||
X-KDE-ServiceTypes=KCModule
|
||||
|
||||
X-KDE-Library=kcm_componentchooser
|
||||
X-KDE-ParentApp=kcontrol
|
||||
|
||||
X-KDE-System-Settings-Parent-Category=workspace-appearance-and-behavior
|
||||
X-DocPath=kcontrol/componentchooser/index.html
|
||||
|
||||
Name=Default Applications
|
||||
Name[af]=Verstektoepassings
|
||||
Name[ar]=التطبيقات الافتراضية
|
||||
Name[ast]=Aplicaciones predeterminaes
|
||||
Name[be]=Праграмы па змаўчанні
|
||||
Name[be@latin]=Zmoŭčanyja aplikacyi
|
||||
Name[bg]=Стандартни програми
|
||||
Name[bn]=ডিফল্ট অ্যাপলিকেশন
|
||||
Name[bn_IN]=ডিফল্ট অ্যাপ্লিকেশন
|
||||
Name[bs]=Podrazumijevani programi
|
||||
Name[ca]=Aplicacions per omissió
|
||||
Name[ca@valencia]=Aplicacions per omissió
|
||||
Name[cs]=Výchozí aplikace
|
||||
Name[csb]=Domëslné programë
|
||||
Name[da]=Standardprogrammer
|
||||
Name[de]=Standard-Komponenten
|
||||
Name[el]=Προκαθορισμένες εφαρμογές
|
||||
Name[en_GB]=Default Applications
|
||||
Name[eo]=Aprioraj aplikaĵoj
|
||||
Name[es]=Aplicaciones predeterminadas
|
||||
Name[et]=Vaikimisi rakendused
|
||||
Name[eu]=Aplikazio lehenetsiak
|
||||
Name[fa]=کاربردهای پیشفرض
|
||||
Name[fi]=Oletussovellukset
|
||||
Name[fr]=Applications par défaut
|
||||
Name[fy]=Standert applikaasjes
|
||||
Name[ga]=Feidhmchláir Réamhshocraithe
|
||||
Name[gl]=Programas predeterminados
|
||||
Name[gu]=મૂળભૂત કાર્યક્રમો
|
||||
Name[he]=תוכניות ברירת־מחדל
|
||||
Name[hi]=डिफ़ॉल्ट अनुप्रयोग
|
||||
Name[hne]=डिफाल्ट अनुपरयोग
|
||||
Name[hr]=Zadane aplikacije
|
||||
Name[hsb]=Standardne aplikacije
|
||||
Name[hu]=Alapértelmezett alkalmazások
|
||||
Name[ia]=Applicationes predefinite
|
||||
Name[id]=Aplikasi Standar
|
||||
Name[is]=Sjálfgefin forrit
|
||||
Name[it]=Applicazioni predefinite
|
||||
Name[ja]=デフォルトのアプリケーション
|
||||
Name[kk]=Әдетті қолданбалары
|
||||
Name[km]=កម្មវិធីលំនាំដើម
|
||||
Name[kn]=ಪೂರ್ವನಿಯೋಜಿತ (ಡಿಫಾಲ್ಟ್) ಅನ್ವಯಗಳು
|
||||
Name[ko]=기본 프로그램
|
||||
Name[ku]=Sepanên Standard
|
||||
Name[lt]=Numatytos programos
|
||||
Name[lv]=Noklusētās programmas
|
||||
Name[mai]=पूर्वनिर्धारित अनुप्रयोग
|
||||
Name[mk]=Стандардни апликации
|
||||
Name[ml]=സഹജമായ പ്രയോഗങ്ങള്
|
||||
Name[mr]=मूलभूत अनुप्रयोग
|
||||
Name[nb]=Standardprogrammer
|
||||
Name[nds]=Standardprogrammen
|
||||
Name[ne]=पूर्वनिर्धारित अनुप्रयोग
|
||||
Name[nl]=Standaard-toepassingen
|
||||
Name[nn]=Standardprogram
|
||||
Name[or]=ପୂର୍ବନିର୍ଦ୍ଧାରିତ ପ୍ରୟୋଗଗୁଡ଼ିକ
|
||||
Name[pa]=ਡਿਫਾਲਟ ਐਪਲੀਕੇਸ਼ਨ
|
||||
Name[pl]=Domyślne programy
|
||||
Name[pt]=Aplicações Predefinidas
|
||||
Name[pt_BR]=Aplicativos padrão
|
||||
Name[ro]=Aplicații implicite
|
||||
Name[ru]=Приложения по умолчанию
|
||||
Name[se]=Standárdprográmmat
|
||||
Name[si]=පෙරනිමි යෙදුම්
|
||||
Name[sk]=Štandardné aplikácie
|
||||
Name[sl]=Privzeti programi
|
||||
Name[sr]=Подразумевани програми
|
||||
Name[sr@ijekavian]=Подразумијевани програми
|
||||
Name[sr@ijekavianlatin]=Podrazumijevani programi
|
||||
Name[sr@latin]=Podrazumevani programi
|
||||
Name[sv]=Standardprogram
|
||||
Name[ta]=இயல்பிருப்பு பயன்பாடுகள்
|
||||
Name[te]=అప్రమెయ కార్యక్షేత్రాలు
|
||||
Name[tg]=Барномаҳои стандартӣ
|
||||
Name[th]=โปรแกรมปริยายต่าง ๆ
|
||||
Name[tr]=Öntanımlı Uygulamalar
|
||||
Name[ug]=كۆڭۈلدىكى پروگراممىلار
|
||||
Name[uk]=Типові програми
|
||||
Name[uz]=Andoza dasturlar
|
||||
Name[uz@cyrillic]=Андоза дастурлар
|
||||
Name[vi]=Ứng dụng mặc định
|
||||
Name[wa]=Prémetous programes
|
||||
Name[x-test]=xxDefault Applicationsxx
|
||||
Name[zh_CN]=默认程序
|
||||
Name[zh_TW]=預設應用程式
|
||||
Comment=Choose the default components for various services
|
||||
Comment[af]=Kies die verstek komponente vir verskeie dienste
|
||||
Comment[ar]=اختر المكونات المبدئية للخدمات المتنوعة
|
||||
Comment[ast]=Escoyer los componentes predeterminaos pa dellos servicios
|
||||
Comment[be]=Выбірае стандартныя кампаненты для розных сервісаў
|
||||
Comment[be@latin]=Vybiery zmoŭčanyja kampanenty dla roznych słužbaŭ
|
||||
Comment[bg]=Избор на предпочитани компоненти за е-поща, редактиране на текст и др.
|
||||
Comment[bn]=বিভিন্ন সার্ভিসের জন্য ডিফল্ট কম্পোনেন্ট নির্বাচন করুন
|
||||
Comment[bn_IN]=বিভিন্ন পরিসেবার সাথে ব্যবহারের উদ্দেশ্যে ডিফল্ট সামগ্রী নির্বাচন করুন
|
||||
Comment[bs]=Izbor podrazumijevanih komponenti za razne servise
|
||||
Comment[ca]=Selecció dels components predeterminats per a diversos serveis
|
||||
Comment[ca@valencia]=Selecció dels components predeterminats per a diversos serveis
|
||||
Comment[cs]=Vyberte výchozí komponenty pro různé služby
|
||||
Comment[csb]=Wébiérk domëslnych kòmpònentów dlô wszelejaczich ùsłëżnotów
|
||||
Comment[cy]=Dewiswch y cydrannau rhagosodedig i wasanaethau amrywiol
|
||||
Comment[da]=Vælg standardkomponenterne for forskellige tjenester
|
||||
Comment[de]=Die Standard-Komponenten für diverse Dienste
|
||||
Comment[el]=Επιλέξτε τα προκαθορισμένα συστατικά για διάφορες υπηρεσίες
|
||||
Comment[en_GB]=Choose the default components for various services
|
||||
Comment[eo]=Elektu la apriorajn komponantojn por diversaj servoj
|
||||
Comment[es]=Elegir los componentes predeterminados para varios servicios
|
||||
Comment[et]=Mitmete teenuste vaikekomponentide valimine
|
||||
Comment[eu]=Hainbat zerbitzuren osagai lehenetsiak aukeratzea
|
||||
Comment[fa]=انتخاب مؤلفههای پیشفرض برای خدمات گوناگون
|
||||
Comment[fi]=Palveluiden oletuskomponenttien asetukset
|
||||
Comment[fr]=Choisir les composants par défaut pour les différents services
|
||||
Comment[fy]=Kies de standertkomponinten foar de ferskate tsjinsten
|
||||
Comment[ga]=Roghnaigh na comhpháirteanna réamhshocraithe le haghaidh seirbhísí éagsúla
|
||||
Comment[gl]=Escolla as compoñentes predeterminadas para varios servizos
|
||||
Comment[gu]=ઘણીબધી સેવાઓ માટે મૂળભૂત ભાગો પસંદ કરો
|
||||
Comment[he]=בחירת רכיבי ברירת־המחדל עבור שירותים שונים
|
||||
Comment[hi]=भिन्न सेवाओं के लिए डिफ़ॉल्ट अवयव चुनें
|
||||
Comment[hne]=भिन्न सेवा मन बर डिफाल्ट अवयव चुनव
|
||||
Comment[hr]=Odaberite zadane komponente za različite usluge
|
||||
Comment[hsb]=Wubjerće standardne komponenty za wšelake serwisy
|
||||
Comment[hu]=Az alapértelmezett komponensek kiválasztása a különféle szolgáltatásokhoz
|
||||
Comment[ia]=Selige le componentes predefinite pro varie servicios
|
||||
Comment[id]=Pilih komponen standar untuk berbagai layanan
|
||||
Comment[is]=Velja sjálfgefnar einingar fyrir ýmsar þjónustur
|
||||
Comment[it]=Scelta dei componenti predefiniti per vari servizi
|
||||
Comment[ja]=各種サービスにデフォルトで使用するコンポーネントを選択
|
||||
Comment[ka]=თავდაპირველი კომპონენტების არჩევა სხვა და სხვა მომსახურეობებისთვის
|
||||
Comment[kk]=Түрлі қызмет ететін әдетті компоненттерін таңдау
|
||||
Comment[km]=ជ្រើសសមាសភាគលំនាំដើម សម្រាប់សេវាផ្សេងៗ
|
||||
Comment[kn]=ವಿವಿಧ ಸೇವೆಗಳಿಗೆ ಪೂರ್ವನಿಯೋಜಿತ ಅಂಗಗಳನ್ನು ಆರಿಸು
|
||||
Comment[ko]=다양한 서비스에 사용할 기본 구성 요소 설정
|
||||
Comment[ku]=Ji bo xizmetên cuda parçeyên standard hilbijêre
|
||||
Comment[lt]=Pasirinkite numatytus komponentus įvairioms tarnyboms
|
||||
Comment[lv]=Izvēlieties noklusējuma komponentes dažādiem servisiem
|
||||
Comment[mai]=भिन्न सेवासभ क' लेल पूर्वनिर्धारित अवयव चुनू
|
||||
Comment[mk]=Изберете ги стандардните компоненти за разните сервиси
|
||||
Comment[ml]=പല സേവനങ്ങള്ക്കുമുള്ള സഹജമായ ഘടകങ്ങള് തെരഞ്ഞെടുക്കുക
|
||||
Comment[mr]=विभिन्न सेवा करिता मूलभूत विभाग निवडा
|
||||
Comment[ms]=Pilih komponen piawai untuk pelbagai servis
|
||||
Comment[nb]=Velg standardkomponenter for ulike tjenester
|
||||
Comment[nds]=De Standardprogrammen för Deensten utsöken
|
||||
Comment[ne]=विविध सेवाका लागि पूर्वनिर्धारित अवयवहरू रोज्नुहोस्
|
||||
Comment[nl]=Kies de standaardcomponenten voor diverse services
|
||||
Comment[nn]=Vel standardkomponentar for ymse tenester
|
||||
Comment[or]=ବିଭିନ୍ନ ପ୍ରକାର ସର୍ଭିସଗୁଡ଼ିକ ପାଇଁ ପୂର୍ବନିର୍ଦ୍ଧାରିତ ଉପାଦାନଗୁଡ଼ିକୁ ପସନ୍ଦ କରନ୍ତୁ
|
||||
Comment[pa]=ਵੱਖ ਵੱਖ ਸਰਵਿਸਾਂ ਲਈ ਡਿਫਾਲਟ ਇੰਦਰਾਜ਼ ਚੁਣੋ
|
||||
Comment[pl]=Wybór domyślnych składników dla różnych usług
|
||||
Comment[pt]=Escolha os componentes predefinidos para os vários serviços
|
||||
Comment[pt_BR]=Escolha os componentes padrão para vários serviços
|
||||
Comment[ro]=Alegeți componentele implicite pentru diferite servicii
|
||||
Comment[ru]=Выбор программ для основных задач
|
||||
Comment[se]=Vállje bálválusaid standárdosiid
|
||||
Comment[si]=විවිධ සේවාවන් වලට පෙරනිමි සංරචක පෙන්වන්න
|
||||
Comment[sk]=Vyberte štandardné komponenty pre rôzne služby
|
||||
Comment[sl]=Izberite privzete enote za različne storitve
|
||||
Comment[sr]=Избор подразумеваних компоненти за разне сервисе
|
||||
Comment[sr@ijekavian]=Избор подразумијеваних компоненти за разне сервисе
|
||||
Comment[sr@ijekavianlatin]=Izbor podrazumijevanih komponenti za razne servise
|
||||
Comment[sr@latin]=Izbor podrazumevanih komponenti za razne servise
|
||||
Comment[sv]=Väljer normalkomponenter för olika sorters tjänster
|
||||
Comment[ta]=பலவிதமான சேவைகளுக்கும் முன்னிருந்த பகுதிகளை தேர்வு செய்யவும்
|
||||
Comment[te]=వివిధ సేవలకొరకు అప్రమేయ మూలకాలను ఎంచుకొనుము
|
||||
Comment[tg]=Қисмҳои стандартиро барои хизматҳои гуногун интихоб кунед
|
||||
Comment[th]=เลือกส่วนประกอบปริยายสำหรับบริการต่าง ๆ
|
||||
Comment[tr]=Çeşitli servisler için öntanımlı bileşenleri seçin
|
||||
Comment[ug]=ھەر خىل مۇلازىمەتلەرنىڭ كۆڭۈلدىكى بۆلەكلىرىنى تاللاڭ
|
||||
Comment[uk]=Вибір типових компонентів для різноманітних служб
|
||||
Comment[uz]=Turli xizmatlar uchun andoza komponentlarni tanlash
|
||||
Comment[uz@cyrillic]=Турли хизматлар учун андоза компонентларни танлаш
|
||||
Comment[vi]=Chọn các thành phần mặc định cho các dịch vụ khác nhau
|
||||
Comment[wa]=Tchoezi les prémetous compôzants po sacwants siervices
|
||||
Comment[xh]=Khetha ingxenye zokungagqibekanga kweenkonzo eziliqela
|
||||
Comment[x-test]=xxChoose the default components for various servicesxx
|
||||
Comment[zh_CN]=选择各种服务的默认组件
|
||||
Comment[zh_TW]=選擇各種服務的預設元件
|
||||
|
||||
X-KDE-Keywords=default applications,components,component chooser,resources,e-mail,email client,text editor,instant messenger,terminal emulator,web browser,URL,hyperlinks
|
||||
X-KDE-Keywords[ar]=التطبيقات الافتراضية، المكونات، مخير المكون، الموارد، البريد الإلكتروني، عميل البريد الإلكتروني، محرر نصوص، مرسال فوري، محاكي الطرفية،متصفح الشبكة، مسار، وصلات فائقة
|
||||
X-KDE-Keywords[bg]=default applications,components,component chooser,resources,e-mail,email client,text editor,instant messenger,terminal emulator,web browser,URL,hyperlinks,програми по подразбиране,подразбиране,е-поща,съобщения,моментни съобщения,терминал, конзола,браузър,уеб-браузър
|
||||
X-KDE-Keywords[bn]=default applications,components,component chooser,resources,e-mail,email client,text editor,instant messenger,terminal emulator,web browser,URL,hyperlinks
|
||||
X-KDE-Keywords[bs]=default applications,components,component chooser,resources,e-mail,email client,text editor,instant messenger,terminal emulator,web browser,URL,hyperlinks, podrazumijevani programi, komponente, izbor komponenti, resursi, elektronska pošta, instant poruke
|
||||
X-KDE-Keywords[ca]=aplicacions per defecte,components,selector de components,recursos,e-mail,client de correu electrònic,editor de text,missatgeria instantània,emulador de terminal,navegador web,URL,hiperenllaços
|
||||
X-KDE-Keywords[ca@valencia]=aplicacions per defecte,components,selector de components,recursos,e-mail,client de correu electrònic,editor de text,missatgeria instantània,emulador de terminal,navegador web,URL,hiperenllaços
|
||||
X-KDE-Keywords[cs]=výchozí aplikace,komponenty,výběr komponent,zdroje,e-mail,emailový klient,editor textu,komunikátor,emulátor terminálů,webový prohlížeč,URL,odkazy
|
||||
X-KDE-Keywords[da]=standardprogrammer,komponenter,komponentvælger,ressourcer,e-mail,email klient,tekst-editor,instant messenger,terminal-emulator,webbrowser,URL,hyperlinks
|
||||
X-KDE-Keywords[de]=Standard-Anwendungen,Standard-Komponenten,Komponenten,Ressourcen,E-Mail,E-Mail-Programm,Terminal-Emulation,Programme,Anwendungen,Web,Browser,URL
|
||||
X-KDE-Keywords[el]=προκαθορισμένες εφαρμογές,συστατικά,επιλογέας συστατικών,πόροι,αλληλογραφία,εφαρμογή αλληλογραφίας,επεξεργαστής κειμένου,εφαρμογή στιγμιαίων μηνυμάτων,εξομοιωτής τερματικού,περιηγητής ιστού,URL,υπερσύνδεσμοι
|
||||
X-KDE-Keywords[en_GB]=default applications,components,component chooser,resources,e-mail,email client,text editor,instant messenger,terminal emulator,web browser,URL,hyperlinks
|
||||
X-KDE-Keywords[eo]=aprioraj aplikaĵoj,komponantoj,elektilo de komponantoj,risurcoj,retpoŝto,kliento de retpoŝto,tekstredaktilo,tujmesaĝilo,terminalo,retumilo,URL,hiperligilo
|
||||
X-KDE-Keywords[es]=aplicaciones predeterminadas,componentes,selector de componente,recursos,correo electrónico,cliente de correo electrónico,editor de texto,cliente de mensajería instantánea,emulador de terminal,navegador web,URL,hiperenlaces
|
||||
X-KDE-Keywords[et]=vaikimisi rakendused,komponendid,komponentide valija,ressursid,e-post,e-posti klient,tekstiredaktor,kiirsuhtlus,terminaliemulaator,veebibrauser,URL,hüperlingid
|
||||
X-KDE-Keywords[eu]=aplikazio lehenetsiak,osagaiak,osagai-hautatzailea,baliabideak,h. el.,posta-bezeroa,testu-editorea,berehalako mezularitza,terminal-emuladorea,web-arakatzailea,URLa,hiperestekak
|
||||
X-KDE-Keywords[fa]=default applications,components,component chooser,resources,e-mail,email client,text editor,instant messenger,terminal emulator,web browser,URL,hyperlinks
|
||||
X-KDE-Keywords[fi]=oletussovellukset,komponentit,komponenttivalitsin,resurssit,e-mail,email,sähköposti,sähköpostiohjelma,tekstimuokkain,tekstieditori,pikaviestin,pikaviestiohjelma,pääte-emulaattori,WWW-selain,web-selain,verkkoselain,osoite,linkit
|
||||
X-KDE-Keywords[fr]=applications par défaut, composants, sélecteur de composants, ressources, courriel, client de courrier électronique, éditeur de texte, messagerie instantanée, émulateur de terminal, navigateur Web, URL, liens hypertexte
|
||||
X-KDE-Keywords[ga]=feidhmchlár réamhshocraithe,comhpháirteanna,roghnóir comhpháirte,acmhainní,ríomhphost,cliant ríomhphoist,eagarthóir téacs,cur teachtaireachtaí meandaracha,aithriseoir teirminéil,brabhsálaí,URL,hipearnaisc
|
||||
X-KDE-Keywords[gl]=predeterminado, programas, aplicación, aplicativo, compoñente, recursos, correo, email, cliente, axente, editor de texto, mensaxería, emulador de terminal, navegador, URL, hiperligazón
|
||||
X-KDE-Keywords[gu]=મૂળભૂત કાર્યક્રમો,ભાગો,ભાગ પસંદ કરનાર,સ્ત્રોતો,ઇ-મેલ,ઇમેલ ક્લાયન્ટ, લખાણ સંપાદક,તુરંત સંદેશક,ટર્મિનલ ઇમ્યુલેટર,વેબ બ્રાઉઝર,URL,હાયપરલિંક્સ
|
||||
X-KDE-Keywords[he]=יישומים ברירת מחדל,רכיבים, בוחר,משאבים,אימייל,דוא"ל,דואל,דואר,לקוח,עורך טקסט,מסרים מיידיים,מדמה מסוף,מסוף,דפדפן,כתובת,default applications,components,component chooser,resources,e-mail,email client,text editor,instant messenger,terminal emulator,web browser,URL,hyperlinks
|
||||
X-KDE-Keywords[hi]=डिफ़ॉल्ट अनुप्रयोगों, घटक, घटक चयनकर्ता, संसाधनों, ई - मेल, ई - मेलग्राहक, पाठ संपादक, इंसटैंट मैसेंजर, टर्मिनल एमुलेटर, वेब ब्राउज़र, यूआरएल,हाइपरलिंक्स
|
||||
X-KDE-Keywords[hu]=alapértelmezett alkalmazások,komponensek,komponensválasztó,erőforrások,e-mail,e-mail kliens,szövegszerkesztő,azonnali üzenetküldő,terminálemulátor,webböngésző,URL,hiperhivatkozás
|
||||
X-KDE-Keywords[ia]=applicationes predefinite,componentes,selector de componente,ressources,e-posta,cliente de e-posta, editor de texto,messagero instantanee,emulator de terminal,navigator web,hyperligamines de URL
|
||||
X-KDE-Keywords[id]=aplikasi standar,komponen,pemilih komponen,sumber daya,surel,klien surel penyunting teks,pesan instan,emulator terminal,peramban web,URL,tautan hiper
|
||||
X-KDE-Keywords[is]=sjálfgefin forrit,einingar,einingaval,aðföng,tölvupóstur,tölvupóstforrit,textaritill,skyndiskilaboð,skjáhermir,vafri,URL,slóð,veftengill
|
||||
X-KDE-Keywords[it]=applicazioni predefinite,componenti,selettore componenti,risorse,email,posta elettronica,client di posta elettronica,editor di testo,messaggistica istantanea,emulatore di terminale,browser web,URL,collegamento ipertestuale
|
||||
X-KDE-Keywords[ja]=default applications,components,component chooser,resources,e-mail,email client,text editor,instant messenger,terminal emulator,web browser,URL,hyperlinks
|
||||
X-KDE-Keywords[kk]=default applications,components,component chooser,resources,e-mail,email client,text editor,instant messenger,terminal emulator,web browser,URL,hyperlinks
|
||||
X-KDE-Keywords[km]=កម្មវិធីលំនាំដើម សមសធាតុ កម្មវិធីជ្រើសសមាសធាតុ ធនធាន អ៊ីមែល កម្មវិធីអ៊ីមែល កម្មវិធីកែសម្រួលអត្ថបទ កម្មវិធីផ្ញើសារបន្ទាន់ កម្មវិធីត្រាប់តាមស្ថានីយ៍ កម្មវិធីរុករកបណ្ដាញ URL តំណខ្ពស់
|
||||
X-KDE-Keywords[ko]=default applications,components,component chooser,resources,e-mail,email client,text editor,instant messenger,terminal emulator,web browser,URL,hyperlinks,기본 프로그램,구성 요소,컴포넌트,자원,이메일,이메일,이메일 클라이언트,이메일 클라이언트,텍스트 편집기,편집기,메신저,터미널,터미널 에뮬레이터,웹 브라우저,하이퍼링크
|
||||
X-KDE-Keywords[lv]=noklusētās programmas,komponentes,komponenšu atlasītājs,resursi,e-pasts,e-pasta klients,teksta redaktors,tūlītējā ziņojumapmaiņa,termināļa emulators,tīmekļa pārlūks,URL,saites
|
||||
X-KDE-Keywords[mr]=मूलभूत अनुप्रयोग, भाग, भाग निवडणे, संसाधन, इमेल, इमेल ग्राहक, पाठ्य संपादक, त्वरित संदेशवाहक, टर्मिनल एम्युलेटर, वेब ब्राऊजर, URL, हायपरलिंक्स
|
||||
X-KDE-Keywords[nb]=standardprogrammer,komponenter,komponentvelger,ressurser,e-post,e-postklient,tekstprogram,lynmelding,terminalemulator,nettleser,URL,hyperlenker
|
||||
X-KDE-Keywords[nds]=Standardprogrammen,Komponenten,Komponentköör,Ressourcen,Nettpost,Nettpostprogramm,Texteditor,Kortnarichtenprogramm,Konsool,Terminal,Nettkieker,URL,Hyperlinks
|
||||
X-KDE-Keywords[nl]=standaard toepassingen,componenten,componentenkiezer,hulpbronnen,e-mail-client,tekstbewerker,instant-messenger,terminal-emulator,webbrowser,url-adres,hyperlinks
|
||||
X-KDE-Keywords[nn]=standardprogram,komponentar,komponentveljar,ressursar,resursar,e-post,e-postklient,e-postprogram,lynmeldingar,terminalemulator,nettlesar,weblesar,URL,adresse,lenkjer,hyperlenkjer
|
||||
X-KDE-Keywords[pa]=ਡਿਫਾਲਟ ਐਪੀਲਕੇਸ਼ਨ,ਐਪਲੀਕੇਸ਼ਨ,ਭਾਗ,ਭਾਗ ਚੋਣਕਾਰ,ਸਰੋਤ,ਈਮੇਲ,ਈ-ਮੇਲ,ਈਮੇਲ ਕਲਾਇਟ,ਟੈਕਸਟ ਐਡੀਟਰ, ਤੁਰੰਤ ਸੁਨੇਹੇ,ਮੈਸੈਂਜਰ,ਟਰਮੀਨਲ ਈਮੂਲੇਟਰ,ਵੈੱਬ ਬਰਾਊਜ਼ਰ,URL,ਹਾਈਪਰਲਿੰਕ
|
||||
X-KDE-Keywords[pl]=domyślne programy,domyślne aplikacje,składniki,komponenty,wybór składników,zasoby,e-mail,poczta,klient pocztowy,edytor teksu,komunikator internetowy,emulator terminala,przeglądarka internetowa,URL,hiperodnośniki
|
||||
X-KDE-Keywords[pt]=aplicações predefinidas,componentes,selector de componentes,recursos,e-mail,cliente de e-mail,editor de texto,mensageiro instantâneo,emulador de terminal,navegador Web,URL,hiperligações
|
||||
X-KDE-Keywords[pt_BR]=aplicativos padrão,componentes,seletor de componentes,recursos,e-mail,cliente de e-mail,editor de texto,mensageiro instantâneo,emulador de terminal,navegador web,URL,hiperligações
|
||||
X-KDE-Keywords[ro]=aplicații implicite,componente,alege componente,resurse,e-mail,email,client,editor text,mesager instant,emulator terminal, browser web,URL,link-uri
|
||||
X-KDE-Keywords[ru]=default applications,components,component chooser,resources,e-mail,email client,text editor,instant messenger,terminal emulator,web browser,URL,hyperlinks,приложения по умолчанию,компоненты,ресурсы,электронная почта,контакт электронной почты,текстовый редактор,обмен мгновенными сообщениями,эмулятор терминала,браузер,гиперссылка
|
||||
X-KDE-Keywords[sk]=predvolené aplikácie,komponenty,výber komponentu,zdroje,e-mail,emailový klient,textový editor,instant messenger,emulátor terminálu,webový prehliadač,URL,hyperlinky
|
||||
X-KDE-Keywords[sl]=privzeti programi,enota,sestavni del,izbirnik enot,viri,e-pošta,epošta,urejevalnik besedila,hipno sporočanje,hipni sporočilnik,posnemovalnik terminala,spletni brskalnik,URL,hiperpovezave,hiper-povezave,povezave,naslov URL
|
||||
X-KDE-Keywords[sr]=default applications,components,component chooser,resources,e-mail,email client,text editor,instant messenger,terminal emulator,web browser,URL,hyperlinks,подразумевани програми,компонента,бирач компоненти,ресурс,е‑пошта,клијент е‑поште,уређивач текста,брзи гласник,емулатор терминала,веб прегледач,УРЛ,хипервеза
|
||||
X-KDE-Keywords[sr@ijekavian]=default applications,components,component chooser,resources,e-mail,email client,text editor,instant messenger,terminal emulator,web browser,URL,hyperlinks,подразумевани програми,компонента,бирач компоненти,ресурс,е‑пошта,клијент е‑поште,уређивач текста,брзи гласник,емулатор терминала,веб прегледач,УРЛ,хипервеза
|
||||
X-KDE-Keywords[sr@ijekavianlatin]=default applications,components,component chooser,resources,e-mail,email client,text editor,instant messenger,terminal emulator,web browser,URL,hyperlinks,podrazumevani programi,komponenta,birač komponenti,resurs,e‑pošta,klijent e‑pošte,uređivač teksta,brzi glasnik,emulator terminala,veb pregledač,URL,hiperveza
|
||||
X-KDE-Keywords[sr@latin]=default applications,components,component chooser,resources,e-mail,email client,text editor,instant messenger,terminal emulator,web browser,URL,hyperlinks,podrazumevani programi,komponenta,birač komponenti,resurs,e‑pošta,klijent e‑pošte,uređivač teksta,brzi glasnik,emulator terminala,veb pregledač,URL,hiperveza
|
||||
X-KDE-Keywords[sv]=standardprogram,komponenter,komponentväljare,resurser,e-post,e-postprogram,texteditor,direktmeddelanden,terminalemulator,webbläsare,webbadress,hyperlänkar
|
||||
X-KDE-Keywords[tg]=барномаҳои стандартӣ,қисмҳо,интихобкунандаи қисмҳо,манбаъҳо,почтаи электронӣ,мизоҷи почта,таҳриргари матнӣ,паёмнависии фаврӣ,эмулятори терминал,веб-браузер,URL,пайвандҳои интернетӣ
|
||||
X-KDE-Keywords[tr]=öntanımlı uygulamalar,bileşenler,bileşen seçici,kaynaklar,e-posta,e-posta istemcisi,metin düzenleyici,hızlı mesajlaşma uygulaması,uçbirim,web tarayıcı,URL
|
||||
X-KDE-Keywords[ug]=كۆڭۈلدىكى پروگراممىلار، بۆلەكلەر، بۆلەك تاللىغۇچ، مەنبەلەر، ئېلخەت، ئېلخەت خېرىدارى، تېكىست تەھرىرلىگۈچ، مۇڭداشقۇ، تېرمىنال تەقلىدلىگۈچ، توركۆرگۈ، URL، hyperlinks
|
||||
X-KDE-Keywords[uk]=default applications;components;component chooser;resources;e-mail;email client;text editor;instant messenger;terminal emulator;web browser;URL;hyperlinks;програма;додаток;типовий;типова;вибір;компонент;ресурс;пошта;поштовий;повідомлення;редактор;текст;текстовий редактор;спілкування;обмін повідомленнями;емулятор;термінал;переглядач;перегляд;інтернет;сторінка;сторінки;посилання;адреси;адреса
|
||||
X-KDE-Keywords[vi]=thành phần,bộ chọn thành phần,tài nguyên,thư điện tử,trình thư,mô phỏng thiết bị cuối,ứng dụng,default applications,components,component chooser,resources,e-mail,email client,text editor,instant messenger,terminal emulator,web browser,URL,hyperlinks
|
||||
X-KDE-Keywords[wa]=programes prémetou,componints,tchoezixheu d' componint,tchoezixheu di componint,rissource,emile,e-mail,cliyint,aspougneu di tecse,aspougneu d' tecse,messaedjî sol mounmint,messaedjreye sol moumint,MSM,terminå,emulateu d' terminå,emulateu di terminå,betchteu waibe,URL,adresse,hårdêyes,hårdêye
|
||||
X-KDE-Keywords[x-test]=xxdefault applications,components,component chooser,resources,e-mail,email client,text editor,instant messenger,terminal emulator,web browser,URL,hyperlinksxx
|
||||
X-KDE-Keywords[zh_CN]=default applications,components,component chooser,resources,e-mail,email client,text editor,instant messenger,terminal emulator,web browser,URL,hyperlinks,默认程序,组件,组件选择器,资源,电子邮件,邮件客户端,文本编辑器,即时通信,终端模拟器,网页浏览器,地址
|
||||
X-KDE-Keywords[zh_TW]=default applications,components,component chooser,resources,e-mail,email client,text editor,instant messenger,terminal emulator,web browser,URL,hyperlinks
|
90
kcontrol/componentchooser/componentchooser.h
Normal file
90
kcontrol/componentchooser/componentchooser.h
Normal file
|
@ -0,0 +1,90 @@
|
|||
/***************************************************************************
|
||||
componentchooser.h - description
|
||||
-------------------
|
||||
copyright : (C) 2002 by Joseph Wenninger
|
||||
email : jowenn@kde.org
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
* *
|
||||
* This program 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 Foundationi *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef _COMPONENTCHOOSER_H_
|
||||
#define _COMPONENTCHOOSER_H_
|
||||
|
||||
#include "ui_componentchooser_ui.h"
|
||||
#include "ui_componentconfig_ui.h"
|
||||
#include <QHash>
|
||||
|
||||
//Added by qt3to4:
|
||||
#include <QVBoxLayout>
|
||||
|
||||
#include <kservice.h>
|
||||
|
||||
class QListWidgetItem;
|
||||
class KConfig;
|
||||
|
||||
/* The CfgPlugin class is an exception. It is LGPL. It will be parted of the plugin interface
|
||||
which I plan for KDE 3.2.
|
||||
*/
|
||||
class CfgPlugin
|
||||
{
|
||||
public:
|
||||
CfgPlugin(){}
|
||||
virtual ~CfgPlugin(){}
|
||||
virtual void load(KConfig *cfg)=0;
|
||||
virtual void save(KConfig *cfg)=0;
|
||||
virtual void defaults()=0;
|
||||
};
|
||||
|
||||
class CfgComponent: public QWidget, public Ui::ComponentConfig_UI, public CfgPlugin
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
CfgComponent(QWidget *parent);
|
||||
virtual ~CfgComponent();
|
||||
virtual void load(KConfig *cfg);
|
||||
virtual void save(KConfig *cfg);
|
||||
virtual void defaults();
|
||||
|
||||
protected:
|
||||
QHash<QString, QString> m_lookupDict,m_revLookupDict;
|
||||
|
||||
protected Q_SLOTS:
|
||||
void slotComponentChanged(const QString&);
|
||||
Q_SIGNALS:
|
||||
void changed(bool);
|
||||
};
|
||||
|
||||
class ComponentChooser : public QWidget, public Ui::ComponentChooser_UI
|
||||
{
|
||||
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
ComponentChooser(QWidget *parent=0);
|
||||
virtual ~ComponentChooser();
|
||||
void load();
|
||||
void save();
|
||||
void restoreDefault();
|
||||
|
||||
private:
|
||||
QString latestEditedService;
|
||||
bool somethingChanged;
|
||||
QWidget *configWidget;
|
||||
QVBoxLayout *myLayout;
|
||||
protected Q_SLOTS:
|
||||
void emitChanged(bool);
|
||||
void slotServiceSelected(QListWidgetItem *);
|
||||
|
||||
Q_SIGNALS:
|
||||
void changed(bool);
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif
|
78
kcontrol/componentchooser/componentchooser_ui.ui
Normal file
78
kcontrol/componentchooser/componentchooser_ui.ui
Normal file
|
@ -0,0 +1,78 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>ComponentChooser_UI</class>
|
||||
<widget class="QWidget" name="ComponentChooser_UI">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>427</width>
|
||||
<height>192</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QGridLayout">
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item row="2" column="1">
|
||||
<widget class="QGroupBox" name="GroupBox1">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="whatsThis">
|
||||
<string>Here you can change the component program. Components are programs that handle basic tasks, like the terminal emulator, the text editor and the email client. Different KDE applications sometimes need to invoke a console emulator, send a mail or display some text. To do so consistently, these applications always call the same components. You can choose here which programs these components are.</string>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Default Component</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout">
|
||||
<item>
|
||||
<widget class="QStackedWidget" name="configContainer"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0" rowspan="3">
|
||||
<widget class="KListWidget" name="ServiceChooser">
|
||||
<property name="whatsThis">
|
||||
<string><qt>
|
||||
<p>This list shows the configurable component types. Click the component you want to configure.</p>
|
||||
<p>In this dialog you can change KDE default components. Components are programs that handle basic tasks, like the terminal emulator, the text editor and the email client. Different KDE applications sometimes need to invoke a console emulator, send a mail or display some text. To do so consistently, these applications always call the same components. Here you can select which programs these components are.</p>
|
||||
</qt></string>
|
||||
</property>
|
||||
<property name="uniformItemSizes">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLabel" name="ComponentDescription">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>KListWidget</class>
|
||||
<extends>QListWidget</extends>
|
||||
<header>klistwidget.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
115
kcontrol/componentchooser/componentchooserbrowser.cpp
Normal file
115
kcontrol/componentchooser/componentchooserbrowser.cpp
Normal file
|
@ -0,0 +1,115 @@
|
|||
/***************************************************************************
|
||||
componentchooserbrowser.cpp
|
||||
-------------------
|
||||
copyright : (C) 2002 by Joseph Wenninger
|
||||
email : jowenn@kde.org
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
* *
|
||||
* This program 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 Foundationi *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
#include "componentchooserbrowser.h"
|
||||
#include <kopenwithdialog.h>
|
||||
#include <kglobalsettings.h>
|
||||
#include <kconfiggroup.h>
|
||||
|
||||
#include <KUrl>
|
||||
|
||||
CfgBrowser::CfgBrowser(QWidget *parent)
|
||||
: QWidget(parent), Ui::BrowserConfig_UI(),CfgPlugin()
|
||||
{
|
||||
setupUi(this);
|
||||
connect(lineExec,SIGNAL(textChanged(const QString &)),this,SLOT(configChanged()));
|
||||
connect(radioKIO,SIGNAL(toggled(bool)),this,SLOT(configChanged()));
|
||||
connect(radioExec,SIGNAL(toggled(bool)),this,SLOT(configChanged()));
|
||||
connect(btnSelectBrowser,SIGNAL(clicked()),this, SLOT(selectBrowser()));
|
||||
}
|
||||
|
||||
CfgBrowser::~CfgBrowser() {
|
||||
}
|
||||
|
||||
void CfgBrowser::configChanged()
|
||||
{
|
||||
emit changed(true);
|
||||
}
|
||||
|
||||
void CfgBrowser::defaults()
|
||||
{
|
||||
load(0);
|
||||
}
|
||||
|
||||
|
||||
void CfgBrowser::load(KConfig *)
|
||||
{
|
||||
KConfigGroup config(KSharedConfig::openConfig("kdeglobals"), QLatin1String("General") );
|
||||
QString exec = config.readPathEntry( QLatin1String("BrowserApplication"), QString("") );
|
||||
if (exec.isEmpty())
|
||||
{
|
||||
radioKIO->setChecked(true);
|
||||
m_browserExec = exec;
|
||||
m_browserService = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
radioExec->setChecked(true);
|
||||
if (exec.startsWith('!'))
|
||||
{
|
||||
m_browserExec = exec.mid(1);
|
||||
m_browserService = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_browserService = KService::serviceByStorageId( exec );
|
||||
if (m_browserService)
|
||||
m_browserExec = m_browserService->desktopEntryName();
|
||||
else
|
||||
m_browserExec.clear();
|
||||
}
|
||||
}
|
||||
|
||||
lineExec->setText(m_browserExec);
|
||||
|
||||
emit changed(false);
|
||||
}
|
||||
|
||||
void CfgBrowser::save(KConfig *)
|
||||
{
|
||||
KConfigGroup config(KSharedConfig::openConfig("kdeglobals"), QLatin1String("General") );
|
||||
QString exec;
|
||||
if (radioExec->isChecked())
|
||||
{
|
||||
exec = lineExec->text();
|
||||
if (m_browserService && (exec == m_browserExec))
|
||||
exec = m_browserService->storageId(); // Use service
|
||||
else if (!exec.isEmpty())
|
||||
exec = '!' + exec; // Literal command
|
||||
}
|
||||
config.writePathEntry( QLatin1String("BrowserApplication"), exec); // KConfig::Normal|KConfig::Global
|
||||
config.sync();
|
||||
|
||||
KGlobalSettings::self()->emitChange(KGlobalSettings::SettingsChanged);
|
||||
|
||||
emit changed(false);
|
||||
}
|
||||
|
||||
void CfgBrowser::selectBrowser()
|
||||
{
|
||||
KUrl::List urlList;
|
||||
KOpenWithDialog dlg(urlList, i18n("Select preferred Web browser application:"), QString(), this);
|
||||
if (dlg.exec() != QDialog::Accepted)
|
||||
return;
|
||||
m_browserService = dlg.service();
|
||||
if (m_browserService) {
|
||||
m_browserExec = m_browserService->desktopEntryName();
|
||||
if (m_browserExec.isEmpty())
|
||||
m_browserExec = m_browserService->exec();
|
||||
} else {
|
||||
m_browserExec = dlg.text();
|
||||
}
|
||||
lineExec->setText(m_browserExec);
|
||||
}
|
44
kcontrol/componentchooser/componentchooserbrowser.h
Normal file
44
kcontrol/componentchooser/componentchooserbrowser.h
Normal file
|
@ -0,0 +1,44 @@
|
|||
/***************************************************************************
|
||||
componentchooserbrowser.h
|
||||
-------------------
|
||||
copyright : (C) 2002 by Joseph Wenninger
|
||||
email : jowenn@kde.org
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
* *
|
||||
* This program 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 Foundationi *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef COMPONENTCHOOSERBROWSER_H
|
||||
#define COMPONENTCHOOSERBROWSER_H
|
||||
|
||||
#include "ui_browserconfig_ui.h"
|
||||
#include "componentchooser.h"
|
||||
|
||||
class CfgBrowser: public QWidget, public Ui::BrowserConfig_UI, public CfgPlugin
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
CfgBrowser(QWidget *parent);
|
||||
virtual ~CfgBrowser();
|
||||
virtual void load(KConfig *cfg);
|
||||
virtual void save(KConfig *cfg);
|
||||
virtual void defaults();
|
||||
|
||||
protected Q_SLOTS:
|
||||
void selectBrowser();
|
||||
void configChanged();
|
||||
|
||||
Q_SIGNALS:
|
||||
void changed(bool);
|
||||
private:
|
||||
QString m_browserExec;
|
||||
KService::Ptr m_browserService;
|
||||
};
|
||||
|
||||
#endif /* COMPONENTCHOOSERBROWSER_H */
|
||||
|
122
kcontrol/componentchooser/componentchooseremail.cpp
Normal file
122
kcontrol/componentchooser/componentchooseremail.cpp
Normal file
|
@ -0,0 +1,122 @@
|
|||
/***************************************************************************
|
||||
componentchooseremail.cpp
|
||||
-------------------
|
||||
copyright : (C) 2002 by Joseph Wenninger
|
||||
email : jowenn@kde.org
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License verstion 2 as *
|
||||
* published by the Free Software Foundation *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
#include "componentchooseremail.h"
|
||||
#include <QtDBus/QtDBus>
|
||||
#include <kemailsettings.h>
|
||||
#include <QCheckBox>
|
||||
#include <kopenwithdialog.h>
|
||||
#include <kstandarddirs.h>
|
||||
|
||||
#include <KUrl>
|
||||
|
||||
// for chmod:
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
|
||||
CfgEmailClient::CfgEmailClient(QWidget *parent)
|
||||
: QWidget(parent), Ui::EmailClientConfig_UI(), CfgPlugin()
|
||||
{
|
||||
setupUi( this );
|
||||
|
||||
pSettings = new KEMailSettings();
|
||||
|
||||
connect(kmailCB, SIGNAL(toggled(bool)), SLOT(configChanged()) );
|
||||
connect(txtEMailClient, SIGNAL(textChanged(const QString&)), SLOT(configChanged()) );
|
||||
#ifdef Q_OS_UNIX
|
||||
connect(chkRunTerminal, SIGNAL(clicked()), SLOT(configChanged()) );
|
||||
#else
|
||||
chkRunTerminal->hide();
|
||||
#endif
|
||||
connect(btnSelectEmail, SIGNAL(clicked()), SLOT(selectEmailClient()) );
|
||||
}
|
||||
|
||||
CfgEmailClient::~CfgEmailClient() {
|
||||
delete pSettings;
|
||||
}
|
||||
|
||||
void CfgEmailClient::defaults()
|
||||
{
|
||||
load(0);
|
||||
}
|
||||
|
||||
void CfgEmailClient::load(KConfig *)
|
||||
{
|
||||
QString emailClient = pSettings->getSetting(KEMailSettings::ClientProgram);
|
||||
bool useKMail = (emailClient.isEmpty());
|
||||
|
||||
kmailCB->setChecked(useKMail);
|
||||
otherCB->setChecked(!useKMail);
|
||||
txtEMailClient->setText(emailClient);
|
||||
txtEMailClient->setFixedHeight(txtEMailClient->sizeHint().height());
|
||||
chkRunTerminal->setChecked((pSettings->getSetting(KEMailSettings::ClientTerminal) == "true"));
|
||||
|
||||
emit changed(false);
|
||||
|
||||
}
|
||||
|
||||
void CfgEmailClient::configChanged()
|
||||
{
|
||||
emit changed(true);
|
||||
}
|
||||
|
||||
void CfgEmailClient::selectEmailClient()
|
||||
{
|
||||
KUrl::List urlList;
|
||||
KOpenWithDialog dlg(urlList, i18n("Select preferred email client:"), QString(), this);
|
||||
// hide "Do not &close when command exits" here, we don't need it for a mail client
|
||||
dlg.hideNoCloseOnExit();
|
||||
if (dlg.exec() != QDialog::Accepted) return;
|
||||
QString client = dlg.text();
|
||||
|
||||
// get the preferred Terminal Application
|
||||
KConfigGroup confGroup( KGlobal::config(), QLatin1String("General") );
|
||||
QString preferredTerminal = confGroup.readPathEntry("TerminalApplication", QLatin1String("konsole"));
|
||||
preferredTerminal += QLatin1String(" -e ");
|
||||
|
||||
int len = preferredTerminal.length();
|
||||
bool b = client.left(len) == preferredTerminal;
|
||||
if (b) client = client.mid(len);
|
||||
if (!client.isEmpty())
|
||||
{
|
||||
chkRunTerminal->setChecked(b);
|
||||
txtEMailClient->setText(client);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void CfgEmailClient::save(KConfig *)
|
||||
{
|
||||
if (kmailCB->isChecked())
|
||||
{
|
||||
pSettings->setSetting(KEMailSettings::ClientProgram, QString());
|
||||
pSettings->setSetting(KEMailSettings::ClientTerminal, "false");
|
||||
}
|
||||
else
|
||||
{
|
||||
pSettings->setSetting(KEMailSettings::ClientProgram, txtEMailClient->text());
|
||||
pSettings->setSetting(KEMailSettings::ClientTerminal, (chkRunTerminal->isChecked()) ? "true" : "false");
|
||||
}
|
||||
|
||||
// insure proper permissions -- contains sensitive data
|
||||
QString cfgName(KGlobal::dirs()->findResource("config", "emails"));
|
||||
if (!cfgName.isEmpty())
|
||||
::chmod(QFile::encodeName(cfgName), 0600);
|
||||
QDBusMessage message = QDBusMessage::createSignal("/Component", "org.kde.Kcontrol", "KDE_emailSettingsChanged" );
|
||||
QDBusConnection::sessionBus().send(message);
|
||||
emit changed(false);
|
||||
}
|
||||
|
44
kcontrol/componentchooser/componentchooseremail.h
Normal file
44
kcontrol/componentchooser/componentchooseremail.h
Normal file
|
@ -0,0 +1,44 @@
|
|||
/***************************************************************************
|
||||
componentchooseremail.h
|
||||
-------------------
|
||||
copyright : (C) 2002 by Joseph Wenninger
|
||||
email : jowenn@kde.org
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
* *
|
||||
* This program 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 Foundationi *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef COMPONENTCHOOSEREMAIL_H
|
||||
#define COMPONENTCHOOSEREMAIL_H
|
||||
|
||||
class KEMailSettings;
|
||||
|
||||
#include "ui_emailclientconfig_ui.h"
|
||||
#include "componentchooser.h"
|
||||
|
||||
class CfgEmailClient: public QWidget, public Ui::EmailClientConfig_UI, public CfgPlugin
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
CfgEmailClient(QWidget *parent);
|
||||
virtual ~CfgEmailClient();
|
||||
virtual void load(KConfig *cfg);
|
||||
virtual void save(KConfig *cfg);
|
||||
virtual void defaults();
|
||||
|
||||
private:
|
||||
KEMailSettings *pSettings;
|
||||
|
||||
protected Q_SLOTS:
|
||||
void selectEmailClient();
|
||||
void configChanged();
|
||||
Q_SIGNALS:
|
||||
void changed(bool);
|
||||
};
|
||||
|
||||
#endif
|
111
kcontrol/componentchooser/componentchooserfilemanager.cpp
Normal file
111
kcontrol/componentchooser/componentchooserfilemanager.cpp
Normal file
|
@ -0,0 +1,111 @@
|
|||
/* This file is part of the KDE project
|
||||
Copyright (C) 2008 David Faure <faure@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 ) version 3 or, at the discretion of KDE e.V. ( which shall
|
||||
act as a proxy as in section 14 of the GPLv3 ), 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; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include "componentchooserfilemanager.h"
|
||||
#include <kbuildsycocaprogressdialog.h>
|
||||
#include <kdebug.h>
|
||||
#include <kprocess.h>
|
||||
#include <kmimetypetrader.h>
|
||||
#include <kopenwithdialog.h>
|
||||
#include <kglobalsettings.h>
|
||||
#include <kconfiggroup.h>
|
||||
|
||||
CfgFileManager::CfgFileManager(QWidget *parent)
|
||||
: QWidget(parent), Ui::FileManagerConfig_UI(),CfgPlugin()
|
||||
{
|
||||
setupUi(this);
|
||||
connect(btnSelectFileManager,SIGNAL(clicked()),this, SLOT(slotAddFileManager()));
|
||||
}
|
||||
|
||||
CfgFileManager::~CfgFileManager() {
|
||||
}
|
||||
|
||||
void CfgFileManager::configChanged()
|
||||
{
|
||||
emit changed(true);
|
||||
}
|
||||
|
||||
void CfgFileManager::defaults()
|
||||
{
|
||||
load(0);
|
||||
}
|
||||
|
||||
static KService::List appOffers()
|
||||
{
|
||||
return KMimeTypeTrader::self()->query("inode/directory", "Application");
|
||||
}
|
||||
|
||||
void CfgFileManager::load(KConfig *) {
|
||||
qDeleteAll(mDynamicWidgets);
|
||||
mDynamicWidgets.clear();
|
||||
const KService::List apps = appOffers();
|
||||
bool first = true;
|
||||
Q_FOREACH(const KService::Ptr& service, apps)
|
||||
{
|
||||
QRadioButton* button = new QRadioButton(service->name(), this);
|
||||
connect(button,SIGNAL(toggled(bool)),this,SLOT(configChanged()));
|
||||
button->setProperty("storageId", service->storageId());
|
||||
radioLayout->addWidget(button);
|
||||
if (first) {
|
||||
button->setChecked(true);
|
||||
first = false;
|
||||
}
|
||||
mDynamicWidgets << button;
|
||||
}
|
||||
|
||||
emit changed(false);
|
||||
}
|
||||
|
||||
void CfgFileManager::save(KConfig *)
|
||||
{
|
||||
QString storageId;
|
||||
Q_FOREACH(QRadioButton* button, qFindChildren<QRadioButton*>(this)) {
|
||||
if (button->isChecked()) {
|
||||
storageId = button->property("storageId").toString();
|
||||
}
|
||||
}
|
||||
|
||||
kDebug() << storageId;
|
||||
if (!storageId.isEmpty()) {
|
||||
// This is taken from filetypes/mimetypedata.cpp
|
||||
KSharedConfig::Ptr profile = KSharedConfig::openConfig("mimeapps.list", KConfig::NoGlobals, "xdgdata-apps");
|
||||
if (!profile->isConfigWritable(true)) // warn user if mimeapps.list is root-owned (#155126/#94504)
|
||||
return;
|
||||
KConfigGroup addedApps(profile, "Added Associations");
|
||||
QStringList userApps = addedApps.readXdgListEntry("inode/directory");
|
||||
userApps.removeAll(storageId); // remove if present, to make it first in the list
|
||||
userApps.prepend(storageId);
|
||||
addedApps.writeXdgListEntry("inode/directory", userApps);
|
||||
profile->sync();
|
||||
KBuildSycocaProgressDialog::rebuildKSycoca(this);
|
||||
}
|
||||
|
||||
emit changed(false);
|
||||
}
|
||||
|
||||
void CfgFileManager::slotAddFileManager()
|
||||
{
|
||||
KProcess proc;
|
||||
proc << "keditfiletype";
|
||||
proc << "inode/directory";
|
||||
if (proc.execute() == 0) {
|
||||
load(0);
|
||||
}
|
||||
}
|
48
kcontrol/componentchooser/componentchooserfilemanager.h
Normal file
48
kcontrol/componentchooser/componentchooserfilemanager.h
Normal file
|
@ -0,0 +1,48 @@
|
|||
/* This file is part of the KDE project
|
||||
Copyright (C) 2008 David Faure <faure@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 ) version 3 or, at the discretion of KDE e.V. ( which shall
|
||||
act as a proxy as in section 14 of the GPLv3 ), 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; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef COMPONENTCHOOSERFILEMANAGER_H
|
||||
#define COMPONENTCHOOSERFILEMANAGER_H
|
||||
|
||||
#include "ui_filemanagerconfig_ui.h"
|
||||
#include "componentchooser.h"
|
||||
|
||||
class CfgFileManager: public QWidget, public Ui::FileManagerConfig_UI, public CfgPlugin
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
CfgFileManager(QWidget *parent);
|
||||
virtual ~CfgFileManager();
|
||||
virtual void load(KConfig *cfg);
|
||||
virtual void save(KConfig *cfg);
|
||||
virtual void defaults();
|
||||
|
||||
protected Q_SLOTS:
|
||||
void slotAddFileManager();
|
||||
void configChanged();
|
||||
|
||||
Q_SIGNALS:
|
||||
void changed(bool);
|
||||
|
||||
private:
|
||||
QList<QObject *> mDynamicWidgets;
|
||||
};
|
||||
|
||||
#endif
|
106
kcontrol/componentchooser/componentchooserterminal.cpp
Normal file
106
kcontrol/componentchooser/componentchooserterminal.cpp
Normal file
|
@ -0,0 +1,106 @@
|
|||
/***************************************************************************
|
||||
componentchooser.cpp - description
|
||||
-------------------
|
||||
copyright : (C) 2002 by Joseph Wenninger
|
||||
email : jowenn@kde.org
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License verstion 2 as *
|
||||
* published by the Free Software Foundation *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
#include "componentchooserterminal.h"
|
||||
#include "componentchooserterminal.moc"
|
||||
|
||||
#include <ktoolinvocation.h>
|
||||
#include <klauncher_iface.h>
|
||||
#include <QtDBus/QtDBus>
|
||||
#include <QCheckBox>
|
||||
|
||||
#include <kdebug.h>
|
||||
#include <kapplication.h>
|
||||
#include <klocale.h>
|
||||
#include <kmessagebox.h>
|
||||
#include <kopenwithdialog.h>
|
||||
#include <kconfig.h>
|
||||
#include <kstandarddirs.h>
|
||||
#include <kmimetypetrader.h>
|
||||
#include <kurlrequester.h>
|
||||
#include <kconfiggroup.h>
|
||||
|
||||
#include <KUrl>
|
||||
|
||||
CfgTerminalEmulator::CfgTerminalEmulator(QWidget *parent)
|
||||
: QWidget(parent), Ui::TerminalEmulatorConfig_UI(), CfgPlugin()
|
||||
{
|
||||
setupUi(this);
|
||||
connect(terminalLE,SIGNAL(textChanged(QString)), this, SLOT(configChanged()));
|
||||
connect(terminalCB,SIGNAL(toggled(bool)),this,SLOT(configChanged()));
|
||||
connect(otherCB,SIGNAL(toggled(bool)),this,SLOT(configChanged()));
|
||||
connect(btnSelectTerminal,SIGNAL(clicked()),this,SLOT(selectTerminalApp()));
|
||||
|
||||
}
|
||||
|
||||
CfgTerminalEmulator::~CfgTerminalEmulator() {
|
||||
}
|
||||
|
||||
void CfgTerminalEmulator::configChanged()
|
||||
{
|
||||
emit changed(true);
|
||||
}
|
||||
|
||||
void CfgTerminalEmulator::defaults()
|
||||
{
|
||||
load(0);
|
||||
}
|
||||
|
||||
|
||||
void CfgTerminalEmulator::load(KConfig *) {
|
||||
KConfigGroup config(KSharedConfig::openConfig("kdeglobals"), "General");
|
||||
QString terminal = config.readPathEntry("TerminalApplication","konsole");
|
||||
if (terminal == "konsole")
|
||||
{
|
||||
terminalLE->setText("xterm");
|
||||
terminalCB->setChecked(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
terminalLE->setText(terminal);
|
||||
otherCB->setChecked(true);
|
||||
}
|
||||
|
||||
emit changed(false);
|
||||
}
|
||||
|
||||
void CfgTerminalEmulator::save(KConfig *)
|
||||
{
|
||||
KConfigGroup config(KSharedConfig::openConfig("kdeglobals"), "General");
|
||||
const QString terminal = terminalCB->isChecked() ? "konsole" : terminalLE->text();
|
||||
config.writePathEntry("TerminalApplication", terminal); // KConfig::Normal|KConfig::Global);
|
||||
config.sync();
|
||||
|
||||
KGlobalSettings::self()->emitChange(KGlobalSettings::SettingsChanged);
|
||||
KToolInvocation::klauncher()->reparseConfiguration();
|
||||
|
||||
emit changed(false);
|
||||
}
|
||||
|
||||
void CfgTerminalEmulator::selectTerminalApp()
|
||||
{
|
||||
KUrl::List urlList;
|
||||
KOpenWithDialog dlg(urlList, i18n("Select preferred terminal application:"), QString(), this);
|
||||
// hide "Run in &terminal" here, we don't need it for a Terminal Application
|
||||
dlg.hideRunInTerminal();
|
||||
if (dlg.exec() != QDialog::Accepted) return;
|
||||
QString client = dlg.text();
|
||||
|
||||
if (!client.isEmpty())
|
||||
{
|
||||
terminalLE->setText(client);
|
||||
}
|
||||
}
|
||||
// vim: sw=4 ts=4 noet
|
42
kcontrol/componentchooser/componentchooserterminal.h
Normal file
42
kcontrol/componentchooser/componentchooserterminal.h
Normal file
|
@ -0,0 +1,42 @@
|
|||
/***************************************************************************
|
||||
componentchooserterminal.h - description
|
||||
-------------------
|
||||
copyright : (C) 2002 by Joseph Wenninger
|
||||
email : jowenn@kde.org
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
* *
|
||||
* This program 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 Foundationi *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef _COMPONENTCHOOSERTERMINAL_H_
|
||||
#define _COMPONENTCHOOSERTERMINAL_H_
|
||||
|
||||
#include "ui_terminalemulatorconfig_ui.h"
|
||||
#include "componentchooser.h"
|
||||
class KConfig;
|
||||
class CfgPlugin;
|
||||
|
||||
class CfgTerminalEmulator: public QWidget, public Ui::TerminalEmulatorConfig_UI, public CfgPlugin
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
CfgTerminalEmulator(QWidget *parent);
|
||||
virtual ~CfgTerminalEmulator();
|
||||
virtual void load(KConfig *cfg);
|
||||
virtual void save(KConfig *cfg);
|
||||
virtual void defaults();
|
||||
|
||||
protected Q_SLOTS:
|
||||
void selectTerminalApp();
|
||||
void configChanged();
|
||||
|
||||
Q_SIGNALS:
|
||||
void changed(bool);
|
||||
};
|
||||
|
||||
#endif
|
301
kcontrol/componentchooser/componentchooserwm.cpp
Normal file
301
kcontrol/componentchooser/componentchooserwm.cpp
Normal file
|
@ -0,0 +1,301 @@
|
|||
/***************************************************************************
|
||||
componentchooserwm.cpp - description
|
||||
-------------------
|
||||
copyright : (C) 2002 by Joseph Wenninger
|
||||
email : jowenn@kde.org
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License verstion 2 as *
|
||||
* published by the Free Software Foundation *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
#include "componentchooserwm.h"
|
||||
#include "componentchooserwm.moc"
|
||||
|
||||
#include <kdebug.h>
|
||||
#include <kdesktopfile.h>
|
||||
#include <kmessagebox.h>
|
||||
#include <kprocess.h>
|
||||
#include <kshell.h>
|
||||
#include <kstandarddirs.h>
|
||||
#include <ktimerdialog.h>
|
||||
#include <qdbusinterface.h>
|
||||
#include <qdbusconnectioninterface.h>
|
||||
#include <netwm.h>
|
||||
#include <qx11info_x11.h>
|
||||
|
||||
CfgWm::CfgWm(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
, Ui::WmConfig_UI()
|
||||
, CfgPlugin()
|
||||
, wmLaunchingState( WmNone )
|
||||
, wmProcess( NULL )
|
||||
{
|
||||
setupUi(this);
|
||||
connect(wmCombo,SIGNAL(activated(int)), this, SLOT(configChanged()));
|
||||
connect(kwinRB,SIGNAL(toggled(bool)),this,SLOT(configChanged()));
|
||||
connect(differentRB,SIGNAL(toggled(bool)),this,SLOT(configChanged()));
|
||||
connect(differentRB,SIGNAL(toggled(bool)),this,SLOT(checkConfigureWm()));
|
||||
connect(wmCombo,SIGNAL(activated(int)),this,SLOT(checkConfigureWm()));
|
||||
connect(configureButton,SIGNAL(clicked()),this,SLOT(configureWm()));
|
||||
|
||||
KGlobal::dirs()->addResourceType( "windowmanagers", "data", "ksmserver/windowmanagers" );
|
||||
}
|
||||
|
||||
CfgWm::~CfgWm()
|
||||
{
|
||||
}
|
||||
|
||||
void CfgWm::configChanged()
|
||||
{
|
||||
emit changed(true);
|
||||
}
|
||||
|
||||
void CfgWm::defaults()
|
||||
{
|
||||
wmCombo->setCurrentIndex( 0 );
|
||||
}
|
||||
|
||||
|
||||
void CfgWm::load(KConfig *)
|
||||
{
|
||||
KConfig cfg("ksmserverrc", KConfig::NoGlobals);
|
||||
KConfigGroup c( &cfg, "General");
|
||||
loadWMs(c.readEntry("windowManager", "kwin"));
|
||||
emit changed(false);
|
||||
}
|
||||
|
||||
void CfgWm::save(KConfig *)
|
||||
{
|
||||
saveAndConfirm();
|
||||
}
|
||||
|
||||
bool CfgWm::saveAndConfirm()
|
||||
{
|
||||
KConfig cfg("ksmserverrc", KConfig::NoGlobals);
|
||||
KConfigGroup c( &cfg, "General");
|
||||
c.writeEntry("windowManager", currentWm());
|
||||
emit changed(false);
|
||||
if( oldwm == currentWm())
|
||||
return true;
|
||||
QString restartArgument = currentWmData().restartArgument;
|
||||
if( restartArgument.isEmpty())
|
||||
{
|
||||
KMessageBox::information( this,
|
||||
i18n( "The new window manager will be used when KDE is started the next time." ),
|
||||
i18n( "Window Manager Change" ), "windowmanagerchange" );
|
||||
oldwm = currentWm();
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if( tryWmLaunch())
|
||||
{
|
||||
oldwm = currentWm();
|
||||
cfg.sync();
|
||||
QDBusInterface ksmserver("org.kde.ksmserver", "/KSMServer" );
|
||||
ksmserver.call( QDBus::NoBlock, "wmChanged" );
|
||||
KMessageBox::information( window(),
|
||||
i18n( "A new window manager is running.\n"
|
||||
"It is still recommended to restart this KDE session to make sure "
|
||||
"all running applications adjust for this change." ),
|
||||
i18n( "Window Manager Replaced" ), "restartafterwmchange" );
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{ // revert config
|
||||
emit changed(true);
|
||||
c.writeEntry("windowManager", oldwm);
|
||||
if( oldwm == "kwin" )
|
||||
{
|
||||
kwinRB->setChecked( true );
|
||||
wmCombo->setEnabled( false );
|
||||
}
|
||||
else
|
||||
{
|
||||
differentRB->setChecked( true );
|
||||
wmCombo->setEnabled( true );
|
||||
for( QHash< QString, WmData >::ConstIterator it = wms.constBegin();
|
||||
it != wms.constEnd();
|
||||
++it )
|
||||
{
|
||||
if( (*it).internalName == oldwm ) // make it selected
|
||||
wmCombo->setCurrentIndex( wmCombo->findText( it.key()));
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool CfgWm::tryWmLaunch()
|
||||
{
|
||||
if( currentWm() == "kwin"
|
||||
&& qstrcmp( NETRootInfo( QX11Info::display(), NET::SupportingWMCheck ).wmName(), "KWin" ) == 0 )
|
||||
{
|
||||
return true; // it is already running, don't necessarily restart e.g. after a failure with other WM
|
||||
}
|
||||
KMessageBox::information( window(), i18n( "Your running window manager will be now replaced with "
|
||||
"the configured one." ), i18n( "Window Manager Change" ), "windowmanagerchange" );
|
||||
wmLaunchingState = WmLaunching;
|
||||
wmProcess = new KProcess;
|
||||
*wmProcess << KShell::splitArgs( currentWmData().exec ) << currentWmData().restartArgument;
|
||||
connect( wmProcess, SIGNAL( error( QProcess::ProcessError )), this, SLOT( wmLaunchError()));
|
||||
connect( wmProcess, SIGNAL( finished( int, QProcess::ExitStatus )),
|
||||
this, SLOT( wmLaunchFinished( int, QProcess::ExitStatus )));
|
||||
wmProcess->start();
|
||||
wmDialog = new KTimerDialog( 20000, KTimerDialog::CountDown, window(), i18n( "Config Window Manager Change" ),
|
||||
KTimerDialog::Ok | KTimerDialog::Cancel, KTimerDialog::Cancel );
|
||||
wmDialog->setButtonGuiItem( KDialog::Ok, KGuiItem( i18n( "&Accept Change" ), "dialog-ok" ));
|
||||
wmDialog->setButtonGuiItem( KDialog::Cancel, KGuiItem( i18n( "&Revert to Previous" ), "dialog-cancel" ));
|
||||
QLabel *label = new QLabel(
|
||||
i18n( "The configured window manager is being launched.\n"
|
||||
"Please check it has started properly and confirm the change.\n"
|
||||
"The launch will be automatically reverted in 20 seconds." ), wmDialog );
|
||||
label->setWordWrap( true );
|
||||
wmDialog->setMainWidget( label );
|
||||
if( wmDialog->exec() == QDialog::Accepted ) // the user confirmed
|
||||
wmLaunchingState = WmOk;
|
||||
else // cancelled for some reason
|
||||
{
|
||||
if( wmLaunchingState == WmLaunching )
|
||||
{ // time out
|
||||
wmLaunchingState = WmFailed;
|
||||
KProcess::startDetached( "kwin", QStringList() << "--replace" );
|
||||
// Let's hope KWin never fails.
|
||||
KMessageBox::sorry( window(),
|
||||
i18n( "The running window manager has been reverted to the default KDE window manager KWin." ));
|
||||
}
|
||||
else if( wmLaunchingState == WmFailed )
|
||||
{
|
||||
KProcess::startDetached( "kwin", QStringList() << "--replace" );
|
||||
// Let's hope KWin never fails.
|
||||
KMessageBox::sorry( window(),
|
||||
i18n( "The new window manager has failed to start.\n"
|
||||
"The running window manager has been reverted to the default KDE window manager KWin." ));
|
||||
}
|
||||
}
|
||||
bool ret = ( wmLaunchingState == WmOk );
|
||||
wmLaunchingState = WmNone;
|
||||
delete wmDialog;
|
||||
wmDialog = NULL;
|
||||
// delete wmProcess; - it is intentionally leaked, since there is no KProcess:detach()
|
||||
wmProcess = NULL;
|
||||
return ret;
|
||||
}
|
||||
|
||||
void CfgWm::wmLaunchError()
|
||||
{
|
||||
if( wmLaunchingState != WmLaunching || sender() != wmProcess )
|
||||
return;
|
||||
wmLaunchingState = WmFailed;
|
||||
wmDialog->reject();
|
||||
}
|
||||
|
||||
|
||||
void CfgWm::wmLaunchFinished( int exitcode, QProcess::ExitStatus exitstatus )
|
||||
{
|
||||
if( wmLaunchingState != WmLaunching || sender() != wmProcess )
|
||||
return;
|
||||
if( exitstatus == QProcess::NormalExit && exitcode == 0 )
|
||||
{ // assume it's forked into background
|
||||
wmLaunchingState = WmOk;
|
||||
return;
|
||||
}
|
||||
// otherwise it's a failure
|
||||
wmLaunchingState = WmFailed;
|
||||
wmDialog->reject();
|
||||
}
|
||||
|
||||
void CfgWm::loadWMs( const QString& current )
|
||||
{
|
||||
WmData kwin;
|
||||
kwin.internalName = "kwin";
|
||||
kwin.exec = "kwin";
|
||||
kwin.configureCommand = "";
|
||||
kwin.restartArgument = "--replace";
|
||||
kwin.parentArgument = "";
|
||||
wms[ "KWin" ] = kwin;
|
||||
oldwm = "kwin";
|
||||
kwinRB->setChecked( true );
|
||||
wmCombo->setEnabled( false );
|
||||
|
||||
QStringList list = KGlobal::dirs()->findAllResources( "windowmanagers", QString(), KStandardDirs::NoDuplicates );
|
||||
QRegExp reg( ".*/([^/\\.]*)\\.[^/\\.]*" );
|
||||
foreach( const QString& wmfile, list )
|
||||
{
|
||||
KDesktopFile file( wmfile );
|
||||
if( file.noDisplay())
|
||||
continue;
|
||||
if( !file.tryExec())
|
||||
continue;
|
||||
QString testexec = file.desktopGroup().readEntry( "X-KDE-WindowManagerTestExec" );
|
||||
if( !testexec.isEmpty())
|
||||
{
|
||||
KProcess proc;
|
||||
proc.setShellCommand( testexec );
|
||||
if( proc.execute() != 0 )
|
||||
continue;
|
||||
}
|
||||
QString name = file.readName();
|
||||
if( name.isEmpty())
|
||||
continue;
|
||||
if( !reg.exactMatch( wmfile ))
|
||||
continue;
|
||||
QString wm = reg.cap( 1 );
|
||||
if( wms.contains( name ))
|
||||
continue;
|
||||
WmData data;
|
||||
data.internalName = wm;
|
||||
data.exec = file.desktopGroup().readEntry( "Exec" );
|
||||
if( data.exec.isEmpty())
|
||||
continue;
|
||||
data.configureCommand = file.desktopGroup().readEntry( "X-KDE-WindowManagerConfigure" );
|
||||
data.restartArgument = file.desktopGroup().readEntry( "X-KDE-WindowManagerRestartArgument" );
|
||||
data.parentArgument = file.desktopGroup().readEntry( "X-KDE-WindowManagerConfigureParentArgument" );
|
||||
wms[ name ] = data;
|
||||
wmCombo->addItem( name );
|
||||
if( wms[ name ].internalName == current ) // make it selected
|
||||
{
|
||||
wmCombo->setCurrentIndex( wmCombo->count() - 1 );
|
||||
oldwm = wm;
|
||||
differentRB->setChecked( true );
|
||||
wmCombo->setEnabled( true );
|
||||
}
|
||||
}
|
||||
differentRB->setEnabled( wmCombo->count()>0 );
|
||||
checkConfigureWm();
|
||||
}
|
||||
|
||||
CfgWm::WmData CfgWm::currentWmData() const
|
||||
{
|
||||
return kwinRB->isChecked() ? wms[ "KWin" ] : wms[ wmCombo->currentText() ];
|
||||
}
|
||||
|
||||
QString CfgWm::currentWm() const
|
||||
{
|
||||
return currentWmData().internalName;
|
||||
}
|
||||
|
||||
void CfgWm::checkConfigureWm()
|
||||
{
|
||||
configureButton->setEnabled( !currentWmData().configureCommand.isEmpty());
|
||||
}
|
||||
|
||||
void CfgWm::configureWm()
|
||||
{
|
||||
if( oldwm != currentWm() // needs switching first
|
||||
&& !saveAndConfirm())
|
||||
{
|
||||
return;
|
||||
}
|
||||
QStringList args;
|
||||
if( !currentWmData().parentArgument.isEmpty())
|
||||
args << currentWmData().parentArgument << QString::number( window()->winId());
|
||||
if( !KProcess::startDetached( currentWmData().configureCommand, args ))
|
||||
KMessageBox::sorry( window(), i18n( "Running the configuration tool failed" ));
|
||||
}
|
73
kcontrol/componentchooser/componentchooserwm.h
Normal file
73
kcontrol/componentchooser/componentchooserwm.h
Normal file
|
@ -0,0 +1,73 @@
|
|||
/***************************************************************************
|
||||
componentchooserwm.h - description
|
||||
-------------------
|
||||
copyright : (C) 2002 by Joseph Wenninger
|
||||
email : jowenn@kde.org
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
* *
|
||||
* This program 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 Foundationi *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef _COMPONENTCHOOSERWM_H_
|
||||
#define _COMPONENTCHOOSERWM_H_
|
||||
|
||||
#include "ui_wmconfig_ui.h"
|
||||
#include "componentchooser.h"
|
||||
|
||||
#include <kprocess.h>
|
||||
|
||||
class KTimerDialog;
|
||||
|
||||
class CfgWm: public QWidget, public Ui::WmConfig_UI, public CfgPlugin
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
CfgWm(QWidget *parent);
|
||||
virtual ~CfgWm();
|
||||
virtual void load(KConfig *cfg);
|
||||
virtual void save(KConfig *cfg);
|
||||
virtual void defaults();
|
||||
|
||||
protected Q_SLOTS:
|
||||
void configChanged();
|
||||
void configureWm();
|
||||
void checkConfigureWm();
|
||||
void wmLaunchError();
|
||||
void wmLaunchFinished( int exitcode, QProcess::ExitStatus exitstatus );
|
||||
|
||||
Q_SIGNALS:
|
||||
void changed(bool);
|
||||
private:
|
||||
bool tryWmLaunch();
|
||||
void loadWMs( const QString& current );
|
||||
QString currentWm() const;
|
||||
bool saveAndConfirm();
|
||||
struct WmData
|
||||
{
|
||||
QString internalName;
|
||||
QString exec;
|
||||
QString configureCommand;
|
||||
QString restartArgument;
|
||||
QString parentArgument;
|
||||
};
|
||||
WmData currentWmData() const;
|
||||
QHash< QString, WmData > wms; // i18n text -> data
|
||||
QString oldwm; // the original value
|
||||
enum Launch
|
||||
{
|
||||
WmNone, // not trying to launch any WM at the moment
|
||||
WmLaunching, // launching
|
||||
WmOk, // was successful
|
||||
WmFailed // it failed
|
||||
};
|
||||
Launch wmLaunchingState;
|
||||
KTimerDialog* wmDialog;
|
||||
KProcess* wmProcess;
|
||||
};
|
||||
|
||||
#endif
|
49
kcontrol/componentchooser/componentconfig_ui.ui
Normal file
49
kcontrol/componentchooser/componentconfig_ui.ui
Normal file
|
@ -0,0 +1,49 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>ComponentConfig_UI</class>
|
||||
<widget class="QWidget" name="ComponentConfig_UI">
|
||||
<layout class="QVBoxLayout">
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="ChooserDocu">
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="KComboBox" name="ComponentSelector"/>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="Spacer2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Expanding</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>KComboBox</class>
|
||||
<extends>QComboBox</extends>
|
||||
<header location="global">KDE/KComboBox</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
|
@ -0,0 +1,4 @@
|
|||
install( FILES kcm_kemail.desktop kcm_browser.desktop kcm_filemanager.desktop DESTINATION ${DATA_INSTALL_DIR}/kcm_componentchooser )
|
||||
if(NOT WIN32)
|
||||
install( FILES kcm_terminal.desktop kcm_wm.desktop DESTINATION ${DATA_INSTALL_DIR}/kcm_componentchooser)
|
||||
endif(NOT WIN32)
|
162
kcontrol/componentchooser/componentservices/kcm_browser.desktop
Normal file
162
kcontrol/componentchooser/componentservices/kcm_browser.desktop
Normal file
|
@ -0,0 +1,162 @@
|
|||
Icon=internet-web-browser
|
||||
|
||||
# ctxt: standard desktop component
|
||||
Name=Web Browser
|
||||
Name[ar]=متصفح الشبكة
|
||||
Name[ast]=Restolador web
|
||||
Name[bg]=Уеб браузър
|
||||
Name[bn]=ওয়েব ব্রাউজার
|
||||
Name[bs]=Web pregledač
|
||||
Name[ca]=Navegador web
|
||||
Name[ca@valencia]=Navegador web
|
||||
Name[cs]=Webový prohlížeč
|
||||
Name[csb]=Internetowi przezérnik
|
||||
Name[da]=Webbrowser
|
||||
Name[de]=Webbrowser
|
||||
Name[el]=Περιηγητής ιστού
|
||||
Name[en_GB]=Web Browser
|
||||
Name[eo]=Retumilo
|
||||
Name[es]=Navegador web
|
||||
Name[et]=Veebibrauser
|
||||
Name[eu]=Web-arakatzailea
|
||||
Name[fa]=مرورگر وب
|
||||
Name[fi]=Verkkoselain
|
||||
Name[fr]=Navigateur Web
|
||||
Name[fy]=Web Browser
|
||||
Name[ga]=Brabhsálaí Gréasáin
|
||||
Name[gl]=Navegador Web
|
||||
Name[gu]=વેબ બ્રાઉઝર
|
||||
Name[he]=דפדפן אינטרנט
|
||||
Name[hi]=वेब ब्राउज़र
|
||||
Name[hr]=Web preglednik
|
||||
Name[hu]=Webböngésző
|
||||
Name[ia]=Navigator Web
|
||||
Name[id]=Peramban Web
|
||||
Name[is]=Vafri
|
||||
Name[it]=Browser Web
|
||||
Name[ja]=ウェブブラウザ
|
||||
Name[kk]=Веб браузер
|
||||
Name[km]=កម្មវិធីរុករកបណ្ដាញ
|
||||
Name[kn]=ಜಾಲ ವೀಕ್ಷಕ
|
||||
Name[ko]=웹 브라우저
|
||||
Name[lt]=Žiniatinklio naršyklė
|
||||
Name[lv]=Tīmekļa pārlūks
|
||||
Name[mai]=वेब ब्राउजर
|
||||
Name[mk]=Веб-прелистувач
|
||||
Name[ml]=വെബ് ബ്രൌസര്
|
||||
Name[mr]=वेब ब्राऊजर
|
||||
Name[nb]=Nettleser
|
||||
Name[nds]=Nettkieker
|
||||
Name[nl]=Webbrowser
|
||||
Name[nn]=Nettlesar
|
||||
Name[pa]=ਵੈੱਬ ਬਰਾਊਜ਼ਰ
|
||||
Name[pl]=Przeglądarka sieciowa
|
||||
Name[pt]=Navegador Web
|
||||
Name[pt_BR]=Navegador Web
|
||||
Name[ro]=Navigator de Internet
|
||||
Name[ru]=Браузер
|
||||
Name[si]=වෙබ් ගවේශකය
|
||||
Name[sk]=Webový prehliadač
|
||||
Name[sl]=Spletni brskalnik
|
||||
Name[sr]=веб прегледач
|
||||
Name[sr@ijekavian]=веб прегледач
|
||||
Name[sr@ijekavianlatin]=veb pregledač
|
||||
Name[sr@latin]=veb pregledač
|
||||
Name[sv]=Webbläsare
|
||||
Name[tg]=Интернет браузер
|
||||
Name[th]=เว็บเบราว์เซอร์
|
||||
Name[tr]=Web Tarayıcı
|
||||
Name[ug]=توركۆرگۈ
|
||||
Name[uk]=Переглядач інтернету
|
||||
Name[vi]=Trình duyệt web
|
||||
Name[wa]=Betchteu waibe
|
||||
Name[x-test]=xxWeb Browserxx
|
||||
Name[zh_CN]=网页浏览器
|
||||
Name[zh_TW]=網頁瀏覽器
|
||||
Comment=Here you can configure your default web browser. All KDE applications in which you can select hyperlinks should honor this setting.
|
||||
Comment[af]=Hier kan jy die standaard web blaaier opstel. Al die KDE programme waarin jy hiperskakels kan kies behoort hierdie instelling te gebruik.
|
||||
Comment[ar]=يمكنك هنا ضبط متصفح الشبكة لديك. كل تطبيقات كدي التي يمكنك فيها اختيار روابط تشعبية ينبغي أن تحترم هذا الإعداد.
|
||||
Comment[ast]=Esti serviciu permite configurar el restolador web predetermináu. Toles aplicaciones KDE que permitan escoyer hiperenllaces tendríen de reconocer esta opción.
|
||||
Comment[be]=Тут вы можаце вызначыць для сябе стандартны вандроўнік па Сеціве. Усе праграмы KDE, у якіх вы можаце выбраць гіперспасылку, павінны выкарыстоўваць гэтае настаўленне.
|
||||
Comment[be@latin]=Tut možna vybrać sabie zmoŭčany hartač sieciva. Usie aplikacyi KDE, u jakich ty karystajeśsia internet-łučami, pavinnyja źviartać uvahu na hetuju naładu.
|
||||
Comment[bg]=Избор на предпочитан браузър. Всички програми от KDE, които се нуждаят от достъп до уеб страници, ще ползват този компонент.
|
||||
Comment[bn]=এখানে আপনি আপনার ডিফল্ট ওয়েব ব্রাউজার কনফিগার করতে পারেন। যে কোনো কে.ডি.ই. অ্যাপলিকেশনে একটি হাইপার-লিঙ্ক নির্বাচন করা হলে এই পছন্দটি ব্যবহার করা হবে।
|
||||
Comment[bs]=Ovdje podešavate podrazumijevani veb pregledač. Svi KDE programi u kojima možete kliktati na hiperveze treba da poštuju ovu postavku.
|
||||
Comment[ca]=Aquí podeu configurar el vostre navegador web per omissió. Totes les aplicacions KDE on podeu seleccionar hiperenllaços haurien de respectar aquest arranjament.
|
||||
Comment[ca@valencia]=Ací podeu configurar el vostre navegador web per omissió. Totes les aplicacions KDE on podeu seleccionar hiperenllaços haurien de respectar este arranjament.
|
||||
Comment[cs]=Tato služba umožňuje nastavit si výchozí prohlížeč. Všechny KDE aplikace, které vyžadují přístup k hypertextovým odkazům, by měly používat toto nastavení.
|
||||
Comment[csb]=Tuwò mòżne wëbrac domëslny przezérnik. Wszëtczé programë KDE, w jaczich brëkùje sã z lënkòw, mùszôłëbë ùżëwac tegò ùstôwù.
|
||||
Comment[cy]=Dyma lle gallwch ffurfweddu eich porydd gwe rhagosodol. Dylai pob rhaglen KDE lle gallwch ddewis hypergysylltau ddefnyddio'r gosodiad yma.
|
||||
Comment[da]=Her kan du indstille din standard-browser. Alle KDE-programmer hvor du kan vælge hyperlink skulle respektere denne indstilling.
|
||||
Comment[de]=Hier können Sie Ihren Standard-Webbrowser festlegen. Alle KDE-Programme, in denen Sie Verknüpfungen (Links) aufrufen können, verwenden diese Einstellung.
|
||||
Comment[el]=Εδώ μπορείτε να διαμορφώσετε τον προκαθορισμένο περιηγητή ιστού σας. Όλες οι εφαρμογές του KDE στις οποίες μπορείτε να επιλέξετε συνδέσμους θα πρέπει να αναφέρονται σε αυτήν τη ρύθμιση.
|
||||
Comment[en_GB]=Here you can configure your default web browser. All KDE applications in which you can select hyperlinks should honour this setting.
|
||||
Comment[eo]=Ĉi tie vi povas agordi vian aprioran retumilon. Ĉiuj aplikaĵoj de KDE, en kiu vi povas elekti hiperligilojn, observos ĉi tiun agordon.
|
||||
Comment[es]=Este servicio le permite configurar su navegador web predeterminado. Todas las aplicaciones KDE que le permitan seleccionar hiperenlaces deberían reconocer esta opción.
|
||||
Comment[et]=Siin saab seadistada vaikimisi kasutatavat brauserit. Kõik KDE rakendused, kus saab valida hüperlinke, peaksid siinsete seadistustega arvestama.
|
||||
Comment[eu]=Web-arakatzaile lehenetsia konfigura dezakezu hemen. Estekak hautatzeko aukera ematen duten KDE aplikazio guztiek eduki beharko lukete ezarpen hau.
|
||||
Comment[fa]=در اینجا میتوانید مرورگر وب پیشفرض خود را پیکربندی کنید. همه کاربردهای KDE که میتوانید ابرپیوندها را در آن گزینش کنید، باید این تنظیمات را قبول کنند.
|
||||
Comment[fi]=Tässä voit muokata oletusselaintasi. Kaikki selainta käyttävät KDE-sovellukset huomioivat tämän asetuksen.
|
||||
Comment[fr]=Vous pouvez configurer ici votre navigateur Web par défaut. Toutes les applications KDE dans lesquelles vous pouvez cliquer sur un lien hypertexte sont censées accepter ce réglage.
|
||||
Comment[fy]=Hjir kinne jo de standert web blêder ynstelle. Alle KDE-tapassingen weryn jo in hyperskeakel oanklikke kinne brûk meitsje fan dizze ynstelling
|
||||
Comment[ga]=Anseo is féidir leat brabhsálaí réamhshocraithe a chumrú. Onóróidh gach feidhmchlár KDE inar féidir hipearnasc a roghnú an socrú seo.
|
||||
Comment[gl]=Aquí pode configurar o navegador predeterminado. Todos os programas de KDE nos que poda premer en ligazóns farán uso deste.
|
||||
Comment[gu]=અહીં તમે તમારૂં મૂળભૂત વેબ બ્રાઉઝર ગોઠવી શકશો. બધાં KDE કાર્યક્રમો જ્યાં તમે હાઇપરલિંક પસંદ કરશો તેઓ આ ગોઠવણીને અનુસરશે.
|
||||
Comment[he]=כאן ניתן להגדיר את דפדפן האינטרנט שישמש כברירת־המחדל. כל יישומי KDE ישתמשו בדפדפן זה לפתיחת קישורים.
|
||||
Comment[hi]=यहाँ पर आप अपने डिफ़ॉल्ट वेब ब्राउज़र को कॉन्फ़िगर कर सकते हैं. सभी केडीई अनुप्रयोगों में जिसमें हायपरलिंक चुन सकते हैं, वे इस विन्यास का इस्तेमाल करेंगे.
|
||||
Comment[hne]=इहां आप मन अपन डिफाल्ट वेब ब्राउजर ल कान्फिगर कर सकथो. सब्बो केडीई अनुपरयोग मन मं जेमां हायपरसंकली चुन सकथो , ओ मन एखर सेटिंग के उपयोग करही.
|
||||
Comment[hr]=Konfiguriranje zadanog web-preglednika. Sve KDE-ove aplikacije unutar kojih odaberete (kliknete) hiperveze poštivat će ovaj odabir.
|
||||
Comment[hsb]=Tule móžeće swój standardny web-browser připrawić.Wšitke KDE-aplikacije, kiž dźěłaja z hyperlinkami měli so po tutych nastajenjach měć.
|
||||
Comment[hu]=Itt lehet beállítani, mi legyen az alapértelmezett webböngésző. Az összes KDE-alkalmazásnak figyelembe kell vennie ezt az értéket levelezési funkció használata esetén.
|
||||
Comment[ia]=Ci tu pote configurar tu navigator web predefinite. Omne applicationes de KDE in qual tu pote selectionar hyper-ligamines debera honorar iste preferentia.
|
||||
Comment[id]=Di sini anda dapat mengatur peramban web standar anda. Semua aplikasi KDE yang dapat anda pilih hipertautnya akan mengikuti pengaturan ini.
|
||||
Comment[is]=Þessi þjónusta leyfir þér að skilgreina sjálfgefinn vafra. Öll KDE forrit sem gera þér kleift að smella á tengla ættu að virða þessa stillingu.
|
||||
Comment[it]=Definisci il browser Web predefinito. Tutte le applicazioni di KDE in cui ci sono collegamenti selezionabili rispetteranno questa impostazione.
|
||||
Comment[ja]=デフォルトで使用するウェブブラウザを設定します。ハイパーリンクの選択が可能なすべての KDE アプリケーションは、この設定に従います。
|
||||
Comment[ka]=აქ შეიძლება სტანდარტული ვებ ბრაუზერის დაკონფიგურირება. KDE-ს ყველა პროგრამა, ვისაც შეუძლია ბმულების გამოძახება, გაითვალისწინებენ ამ პარამეტრს
|
||||
Comment[kk]=Мұнда Сіз әдетті веб-шолғышыңызды таңдай аласыз. Бүкіл KDE қолданбаларда гиперсілтемелерді түрткенде осы таңдау қолданылады.
|
||||
Comment[km]=នៅទីនេះ អ្នកអាចកំណត់រចនាសម្ព័ន្ធកម្មវិធីរុករកបណ្ដាញលំនាំដើមរបស់អ្នក ។ កម្មវិធី KDE ទាំងអស់ដែលអ្នកអាចជ្រើសតំណខ្ពស់ គួរតែគោរពតាមការកំណត់នេះ ។
|
||||
Comment[kn]=ಇಲ್ಲಿ ನೀನು ನಿನ್ನ ಪೂರ್ವನಿಯೋಜಿತ ಜಾಲ ವೀಕ್ಷಕವನ್ನು ಸಂರಚಿಸಬಹುದು. ಹೈಪರ್ ಲಿಂಕ ಅನ್ನು ಬಳಸಬಹುದಾದ ಎಲ್ಲಾ ಕೆಡಿಇ ಅನ್ವಯಗಳೂ ಈ ಸಂಯೋಜನೆಯನ್ನು ಗೌರವಿಸಬೇಕಾಗುತ್ತದೆ.
|
||||
Comment[ko]=여기에서 기본 웹 브라우저를 설정할 수 있습니다. 모든 KDE 프로그램에서 하이퍼링크를 처리하려면 이 설정을 따라야 합니다.
|
||||
Comment[ku]=Li virê dikarî geroka xwe ya webê a standard mîheng bikî. Hemû sepanên KDE'yê yên ku tu dikarî hyperlînkê hilbijêrî dê vê mîhengê erê bikin.
|
||||
Comment[lt]=Čia galine konfigūruoti savo numatytą žiniatinklio naršyklę. Visos KDE programos, kuriose spragtelėsite nuorodas, turėtų atsižvelgti į šį nustatymą.
|
||||
Comment[lv]=Šeit varat konfigurēt noklusējuma tīmekļa pārlūkprogrammu. Visas KDE programmas izmantos šo parametru hipersaišu atvēršanai.
|
||||
Comment[mai]=एतए अहाँ अपन पूर्वनिर्धारित वेब ब्राउजर केँ बिन्यस्त कए सकैत छी. सबहि केडीई अनुप्रयोगसभ मे जकरामे हायपरलिंक चुनि सकैत छी, ओ एहि सेटिंग क' इस्तेमाल करताह.
|
||||
Comment[mk]=Тука може да го конфигурирате вашиот стандарден веб-прелистувач. Сите KDE-апликации во кои може да изберете хиперврски ќе го почитуваат ова поставување.
|
||||
Comment[ml]=നിങ്ങളുടെ സഹജമായ വെബ് ബ്രൌസര് നിങ്ങള്ക്കിവിടെ ക്രമീകരിയ്ക്കാം. ഹൈപ്പര്കണ്ണികള് തെരഞ്ഞെടുക്കാന് സാധ്യമാകുന്ന എല്ലാ കെഡിഇ പ്രയോഗങ്ങളും ഇതു് മാനിയ്ക്കണം.
|
||||
Comment[mr]=येथे तुम्ही तुमचा मूलभूत वेब ब्राऊजर संयोजीत करु शकता. सर्व केडीई अनुप्रयोग ज्यामध्ये तुम्ही हायपरलिंक्स उघडु शकता ते हा वेब ब्राऊजर वापरतील.
|
||||
Comment[ms]=Di sini anda boleh konfigur pelayar web piawai anda.Semua aplikasi KDE yang di dalamnya anda boleh pilih hiperpautan hendaklah menerima seting ini.
|
||||
Comment[nb]=Her kan du sette opp nettleseren du bruker mest. Alle KDE-programmer der du kan velge hyperlenker skal bruke denne nettleseren.
|
||||
Comment[nds]=Hier kannst Du Dien Standard-Nettkieker angeven. All KDE- Programmen, binnen de Du Hyperlinks bruken kannst, schullen dat ümsetten.
|
||||
Comment[ne]=यहाँ तपाईँले पूर्वनिर्धारित वेब ब्राउजर कन्फिगर गर्न सक्नुहुन्छ । तपाईँले हाइपरलिङ्कहरू चयन गर्न सक्ने सबै केडीई अनुप्रयोगहरूमा यो सेटिङ मान्नु पर्छ ।
|
||||
Comment[nl]=Hier kunt u uw standaard webbrowser instellen. Alle KDE-toepassingen waarin u een hyperkoppeling kunt aanklikken maken gebruik van deze instelling.
|
||||
Comment[nn]=Med denne tenesta kan du setja opp standardnettlesaren. Alle KDE-program der du kan følgja hyperlenkjer skal bruka denne innstillinga.
|
||||
Comment[or]=ଏଠାରେ ଆପଣ ପୂର୍ବନିର୍ଦ୍ଧାରିତ ୱେବ ବ୍ରାଉଜର ବିନ୍ୟାସ କରିପାରିବେ। ସମସ୍ତ KDE ପ୍ରୟୋଗଗୁଡ଼ିକ ଯେଉଁଥିରେ ଆପଣ ଅଧିୟୋଜକଗୁଡ଼ିକୁ ପସନ୍ଦ କରିପାରିବେ ସେଥିରେ ଏହି ସେଟିଙ୍ଗକୁ ମାନିବା ଉଚିତ।
|
||||
Comment[pa]=ਇਥੇ ਤੁਸੀਂ ਆਪਣੇ ਡਿਫਾਲਟ ਵੈੱਬ ਬਰਾਊਜ਼ਰ ਦੀ ਸੰਰਚਨਾ ਕਰ ਸਕਦੇ ਹੋ। ਸਭ KDE ਐਪਲੀਕੇਸ਼ਨ, ਜਿਨਾਂ ਵਿੱਚ ਵੀ ਨੈੱਟ ਸੰਬੰਧ ਹਨ, ਇਸ ਸੈਟਿੰਗ ਦਾ ਸਨਮਾਨ ਕਰਨਗੇ।
|
||||
Comment[pl]=Tu można wybrać domyślną przeglądarkę sieciową. Wszystkie programy KDE, w których korzysta się z odnośników, powinny używać tego ustawienia.
|
||||
Comment[pt]=Este serviço permite-lhe configurar o seu navegador Web predefinido. Todas as aplicações do KDE onde possa seleccionar hiperligações deverão respeitar esta configuração.
|
||||
Comment[pt_BR]=Aqui você pode configurar o seu navegador de Internet padrão. Todos os aplicativos do KDE que precisarem acessar uma página através de um link devem seguir esta configuração.
|
||||
Comment[ro]=Aici puteți configura navigatorul de web implicit. Toate aplicațiile KDE în care puteți selecta o hiperlegătură ar trebui să onoreze această setare.
|
||||
Comment[ru]=Здесь можно указать браузер по умолчанию. Все приложения KDE, в которых можно вызвать гиперссылку, будут использовать указанную программу.
|
||||
Comment[se]=Dáinna bálvalusain sáhtát heivehit standárda fierpmádatlogana. Buot KDE-prográmmain mas sáhttá čuovvut hyperliŋkkaid geavaha dán heivehusa.
|
||||
Comment[si]=මෙහිදී ඔබේ පෙරනිමි වෙබ් ගවේශකය සැකසිය හැක. සබැඳි ක්ලික් කල හැකි සියළුම KDE භාවිත යෙදවුම් මෙම සැකසුම් පිළිගත යුතුයි.
|
||||
Comment[sk]=Tu si môžete nastaviť štandardný webový prehliadač. Všetky aplikácie KDE, v ktorých môžete vybrať hypertextový odkaz, by mali používať toto nastavenie.
|
||||
Comment[sl]=Tu lahko nastavite svoj privzeti spletni brskalnik. Vsi KDE programi, kjer lahko kliknete na hiperpovezave, bi morali upoštevati te nastavitve.
|
||||
Comment[sr]=Овде подешавате подразумевани веб прегледач. Сви КДЕ програми у којима можете кликтати на хипервезе треба да поштују ову поставку.
|
||||
Comment[sr@ijekavian]=Овдје подешавате подразумијевани веб прегледач. Сви КДЕ програми у којима можете кликтати на хипервезе треба да поштују ову поставку.
|
||||
Comment[sr@ijekavianlatin]=Ovdje podešavate podrazumijevani veb pregledač. Svi KDE programi u kojima možete kliktati na hiperveze treba da poštuju ovu postavku.
|
||||
Comment[sr@latin]=Ovde podešavate podrazumevani veb pregledač. Svi KDE programi u kojima možete kliktati na hiperveze treba da poštuju ovu postavku.
|
||||
Comment[sv]=Här kan du anpassa förvald webbläsare. Alla KDE-program där du kan välja hyperlänkar bör följa inställningen.
|
||||
Comment[ta]=இந்த சேவை உங்களுடைய முன்னிருந்த மின் அஞ்சல்உறுப்பினர வடிவமைத்துக்கொள்ள அனுமதிக்கிறது. மின்அஞ்சல் உறுப்பினர் பயன்பாடுதேவைப்படுகிற எல்லா கேடிஇபயன்பாடுகளும் இந்த அமைப்பைநிறுவவேண்டும்.
|
||||
Comment[te]=ఇక్కడ మీరు మీ అప్రమేయ అన్వేషణిని ఆకృతీకరించగలరు. ఏ KDE అనువర్తనాలలోనైనామీరు హైపర్లింక్స్ను నొక్కినప్పుడు అవి ఈ అమర్పును సమ్మతిస్తాయి.
|
||||
Comment[tg]=Дар ин ҷо шумо метавонед Интернет браузери стандартиро танзим кунед. Ҳамаи барномаҳои KDE ҳангоми интихоби суроғаҳои шабака ин танзимотро истифода мебаранд.
|
||||
Comment[th]=คุณสามารถปรับแต่งเว็บเบราว์เซอร์ปริยายของคุณได้ที่นี่ โปรแกรมของ KDE ทุกตัวที่คุณสามารถเลือกส่วนเชื่อมโยงได้ จะทำตามค่าที่ตั้งนี้
|
||||
Comment[tr]=Burada öntanımlı web tarayıcınızı yapılandırabilirsiniz. Tüm KDE uygulamalarında bulunan bağlantılar bu seçenek kullanılarak açılacaktır.
|
||||
Comment[ug]=بۇ جايدا كۆڭۈلدىكى توركۆرگۈڭىزنى سەپلىيەلەيسىز. ھەممە KDE پروگراممىلىرىدا ئادەتتىن تاشقىرى ئۇلانمىنى چەككەندە مەزكۇر تەڭشەككە بويسۇنىدۇ.
|
||||
Comment[uk]=Тут можна налаштувати ваш типову програму для перегляду сторінок інтернету. Всі програми KDE, які підтримують роботу з гіперпосиланнями, будуть користуватися вказаними тут параметрами.
|
||||
Comment[vi]=Dịch vụ này cho phép bạn cấu hình trình duyệt mạng mặc định. Tất cả các chương trình của KDE có chứa liên kết mạng sẽ cần một trình duyệt dựa vào thiết lập này.
|
||||
Comment[wa]=Vos ploz chal apontyî vosse prémetou betchteu waibe. Cwand vos tchoeziroz loyén dins telminme programe di KDE, i l' drovrè sorlon cisse tchuze.
|
||||
Comment[x-test]=xxHere you can configure your default web browser. All KDE applications in which you can select hyperlinks should honor this setting.xx
|
||||
Comment[zh_CN]=您可以在这里配置您默认的网页浏览器。您在所有 KDE 应用程序中单击超级链接时都应该遵从此设置。
|
||||
Comment[zh_TW]=您可以在這裡設定您的預設網頁瀏覽器。所有你可以選擇超連結的 KDE 應用程式都應該遵從這個設定。
|
||||
configurationType=internal_browser
|
|
@ -0,0 +1,154 @@
|
|||
Icon=system-file-manager
|
||||
|
||||
# ctxt: standard desktop component
|
||||
Name=File Manager
|
||||
Name[ar]=مدير الملفات
|
||||
Name[ast]=Xestor de ficheros
|
||||
Name[bg]=Преглед на файлове
|
||||
Name[bn]=ফাইল ম্যানেজার
|
||||
Name[bs]=menadžer datoteka
|
||||
Name[ca]=Gestor de fitxers
|
||||
Name[ca@valencia]=Gestor de fitxers
|
||||
Name[cs]=Správce souborů
|
||||
Name[csb]=Menadżera lopków
|
||||
Name[da]=Filhåndtering
|
||||
Name[de]=Dateimanager
|
||||
Name[el]=Διαχειριστής αρχείων
|
||||
Name[en_GB]=File Manager
|
||||
Name[eo]=Dosieradministrilo
|
||||
Name[es]=Gestor de archivos
|
||||
Name[et]=Failihaldur
|
||||
Name[eu]=Fitxategi-kudeatzailea
|
||||
Name[fa]=مدیر پرونده
|
||||
Name[fi]=Tiedostonhallinta
|
||||
Name[fr]=Gestionnaire de fichiers
|
||||
Name[fy]=File Manager
|
||||
Name[ga]=Bainisteoir Comhad
|
||||
Name[gl]=Xestor de ficheiros
|
||||
Name[gu]=ફાઇલ વ્યવસ્થાપક
|
||||
Name[he]=מנהל קבצים
|
||||
Name[hi]=फ़ाइल प्रबंधक
|
||||
Name[hr]=Upravitelj datoteka
|
||||
Name[hu]=Fájlkezelő
|
||||
Name[ia]=Gerente de File
|
||||
Name[id]=Manajer Berkas
|
||||
Name[is]=Skráastjóri
|
||||
Name[it]=Gestore dei file
|
||||
Name[ja]=ファイルマネージャ
|
||||
Name[kk]=Файл менеджері
|
||||
Name[km]=កម្មវិធីគ្រប់គ្រងឯកសារ
|
||||
Name[kn]=ಕಡತ ವ್ಯವಸ್ಥಾಪಕ
|
||||
Name[ko]=파일 관리자
|
||||
Name[lt]=Failų tvarkyklė
|
||||
Name[lv]=Failu pārvaldnieks
|
||||
Name[mai]=फाइल प्रबंधक
|
||||
Name[mk]=Менаџер на датотеки
|
||||
Name[ml]=ഫയല് നടത്തിപ്പുകാരന്
|
||||
Name[mr]=फाईल व्यवस्थापक
|
||||
Name[nb]=Filbehandler
|
||||
Name[nds]=Dateipleger
|
||||
Name[nl]=Bestandsbeheerder
|
||||
Name[nn]=Filhandsamar
|
||||
Name[pa]=ਫਾਇਲ ਮੈਨੇਜਰ
|
||||
Name[pl]=Zarządzanie plikami
|
||||
Name[pt]=Gestor de Ficheiros
|
||||
Name[pt_BR]=Gerenciador de arquivos
|
||||
Name[ro]=Gestionar de fișiere
|
||||
Name[ru]=Диспетчер файлов
|
||||
Name[si]=ගොනු කළමණාකරු
|
||||
Name[sk]=Správca súborov
|
||||
Name[sl]=Upravljalnik datotek
|
||||
Name[sr]=менаџер фајлова
|
||||
Name[sr@ijekavian]=менаџер фајлова
|
||||
Name[sr@ijekavianlatin]=menadžer fajlova
|
||||
Name[sr@latin]=menadžer fajlova
|
||||
Name[sv]=Filhanterare
|
||||
Name[tg]=Мудири файлҳо
|
||||
Name[th]=เครื่องมือจัดการแฟ้ม
|
||||
Name[tr]=Dosya Yönetici
|
||||
Name[ug]=ھۆججەت باشقۇرغۇ
|
||||
Name[uk]=Керування файлами
|
||||
Name[vi]=Trình quản lý tập tin
|
||||
Name[wa]=Manaedjeu des fitchîs
|
||||
Name[x-test]=xxFile Managerxx
|
||||
Name[zh_CN]=文件管理器
|
||||
Name[zh_TW]=檔案管理員
|
||||
Comment=Here you can configure your default file manager. The entries in the K menu and all KDE applications in which you can open folders will use this file manager.
|
||||
Comment[ar]=هنا يمكنك ضبط مدير الملفات المبدئي. المدخلات في القائمة كي وجميع تطبيقات كدي التي تستطيع أن تفتح المجلدات فيها سوف تستخدم مدير الملفات هذا.
|
||||
Comment[ast]=Pues configurar el xestor de ficheros predetermináu. Les entraes nel menú K y toles aplicaciones nes que puedas abrir carpetes usarán esti xestor.
|
||||
Comment[be@latin]=Tut možna vybrać sabie zmoŭčanaha fajłavaha kiraŭnika. Usie aplikacyi i punkty menu KDE, u jakich ty adčyniaješ katalohi, buduć im karystacca.
|
||||
Comment[bg]=Избор на предпочитан файлов мениджър. Отварянето на директориите ще става с него.
|
||||
Comment[bn]=এখানে আপনি আপনার ডিফল্ট ফাইল ম্যানেজার কনফিগার করতে পারেন। যে কোনো কে.ডি.ই. অ্যাপলিকেশন থেকে কোন ফোল্ডার খোলা হলে এই ফাইল ম্যানেজার-টি ব্যবহার করা হবে।
|
||||
Comment[bs]=Ovdje podešavate podrazumijevani menadžer datoteka. Koristiće ga stavke u K‑meniju i svi KDE programi u kojima možete otvarati fascikle.
|
||||
Comment[ca]=Aquí podeu configurar el gestor de fitxers per omissió. Les entrades del menú K i totes les aplicacions del KDE on podeu obrir carpetes usaran aquest gestor de fitxers.
|
||||
Comment[ca@valencia]=Ací podeu configurar el gestor de fitxers per omissió. Les entrades del menú K i totes les aplicacions del KDE on podeu obrir carpetes usaran este gestor de fitxers.
|
||||
Comment[cs]=Na tomto místě si můžete nastavit výchozího správce souborů. Položky v hlavní nabídce K a všechny aplikace, ve kterých lze otevřít složky, budou tohoto správce používat.
|
||||
Comment[csb]=Tuwò mòżne wëbrac domëslnegò menadżera lopków. Wpisënczi w K menu ë wszëtczé programë KDE, w jaczich mòżesz òtmëkac katalodżi, bãdą ùżëwac tegò menadżera.
|
||||
Comment[da]=Her kan du indstille din standard filhåndtering. Punkter i K-menuen og alle KDE-programmer hvori du kan åbne mapper, vil bruge denne filhåndtering.
|
||||
Comment[de]=Hier können Sie Ihren Standard-Dateimanager festlegen. Die Menüeinträge im K-Menü und alle KDE-Programme, in denen Sie Ordner aufrufen können, verwenden diesen Dateimanager.
|
||||
Comment[el]=Εδώ μπορείτε να διαμορφώσετε τον προκαθορισμένο διαχειριστή αρχείων. Οι καταχωρήσεις στο μενού Κ και όλες οι εφαρμογές του KDE στις οποίες μπορείτε να ανοίγετε φακέλους θα χρησιμοποιούν αυτόν το διαχειριστή αρχείων.
|
||||
Comment[en_GB]=Here you can configure your default file manager. The entries in the K menu and all KDE applications in which you can open folders will use this file manager.
|
||||
Comment[eo]=Ĉi tie vi povas agordi vian aprioran dosieradministrilon. La eroj en la K-menuo kaj ĉiuj aplikaĵoj de KDE, en kiu vi povas malfermi dosierujojn, uzos ĉi tiun dosieradministrilon.
|
||||
Comment[es]=Puede configurar su gestor de archivos predeterminado. Las entradas en el menú K y todas las aplicaciones en las que pueda abrir carpetas usarán este gestor.
|
||||
Comment[et]=Siin saab seadistada vaikimisi kasutatavat failihaldurit. Kõik KDE rakendused, kus saab avada katalooge, peaksid siinsete seadistustega arvestama.
|
||||
Comment[eu]=Fitxategi-kudeatzaile lehenetsia konfigura dezakezu. K menuko sarrerek eta karpetak irekitzeko aukera ematen duten KDE aplikazioek fitxategi-kudeatzaile hau erabiliko dute.
|
||||
Comment[fa]=در اینجا میتوانید مدیر فایل پیشفرض خود را پیکربندی کنید. همه موارد منوی K و همه برنامههای کیدیای که در آنها میتوانید پوشهها را باز کنید از این مدیر پرونده استفاده خواهند کرد.
|
||||
Comment[fi]=Tässä voit muokata käytettävää oletustiedostonhallintaohjelmaa. Kaikki KDE-sovellukset käyttävät tätä tiedostonhallintaohjelmaa.
|
||||
Comment[fr]=Vous pouvez configurer ici votre gestionnaire de fichiers par défaut. Les entrées du menu K et toutes les applications KDE avec lesquelles vous pouvez ouvrir des dossiers, utiliseront ce gestionnaire de fichiers.
|
||||
Comment[fy]=Hjir kinne jo de standert triembehearder ynstelle. Alle ynfieren yn it K menu en alle KDE applikaasjes wêryn jo mappen iepenje kinne sille dizze triembehearder brûke.
|
||||
Comment[ga]=Anseo is féidir leat bainisteoir comhad réamhshocraithe a chumrú. Úsáidfidh iontrálacha sa roghchlár K an bainisteoir comhad seo, chomh maith le gach feidhmchlár KDE is féidir fillteáin a oscailt.
|
||||
Comment[gl]=Aquí pode configurar o xestor de ficheiros predeterminado. As entradas no menú K e todos os programas de KDE nos que poida abrir cartafoles han empregar este xestor de ficheiros.
|
||||
Comment[gu]=અહીં તમે તમારૂં મૂળભૂત ફાઇલ વ્યવસ્થાપક ગોઠવી શકો છો. K મેનુ અને બધા KDE કાર્યક્રમો જે ફોલ્ડરો ખોલી શકે તે આ ફાઇલ વ્યવસ્થાપક વાપરશે.
|
||||
Comment[he]=כאן ניתן להגדיר את מנהל הקבצים שישמש כברירת־המחדל. הפריטים בתפריט של KDE וכל שאר יישומי KDE ישתמשו במנהל קבצים זה לפתיחת תיקיות.
|
||||
Comment[hi]=यहाँ पर आप अपने डिफ़ॉल्ट वेब ब्राउज़र को कॉन्फ़िगर कर सकते हैं. सभी केडीई अनुप्रयोगों में जिसमें हायपरलिंक चुन सकते हैं, वे इस विन्यास का इस्तेमाल करेंगे.
|
||||
Comment[hne]=इहां आप मन अपन डिफाल्ट फाइल प्रबंधक ल कान्फिगर कर सकथो. केमेन्यू प्रविस्टि अउ सब्बो केडीई अनुपरयोग मन मं जेमां आप फोल्डर खोल सकथो , ओ मन ए फाइल प्रबंधक ल उपयोग करहीं.
|
||||
Comment[hr]=Ovdje možete konfigurirati vaš početni preglednik datoteka. Stavke K-izbornika i sve KDE-ove aplikacije u kojima možete otvoriti mape, koristiti će ovaj upravitelj datoteka.
|
||||
Comment[hsb]=Tule móžeće swój standardny datajowy manager připrawić. Zapisy w K-meniju a wšitke KDE-aplikacije, w kotrychž móžeće zapiski wočinić, budu tutón datajowy manager wužiwać.
|
||||
Comment[hu]=Itt lehet beállítani, mi legyen az alapértelmezett fájlkezelő. A KDE menüben és a KDE-alkalmazásokban ez a program fog megnyílni, ha megnyit egy mappát.
|
||||
Comment[ia]=Ci tu pote configurar tu gerente de file predefinite. Le entratas in le K menu e omne applicationes KDE in qual tu aperi dossieres usara iste gerente de file.
|
||||
Comment[id]=Di sini anda dapat mengatur manajer berkas standar anda. Lema di menu K dan semua aplikasi KDE yang dapat anda buka foldernya akan menggunakan manajer berkas ini.
|
||||
Comment[is]=Þessi þjónusta leyfir þér að skilgreina sjálfgefinn skráastjóra. K-aðalvalmyndin og öll KDE forrit sem gera þér kleift að opna möppur ættu að virða þessa stillingu.
|
||||
Comment[it]=Definisci il gestore dei file predefinito. Tutte le voci del menu K e tutte le applicazioni di KDE nelle quali puoi aprire cartelle rispetteranno questa impostazione.
|
||||
Comment[ja]=デフォルトで使用するファイルマネージャを設定します。K メニューのエントリと、フォルダを開くことが可能なすべての KDE アプリケーションは、このファイルマネージャを使います。
|
||||
Comment[kk]=Мұнда әдетті файл менеджеріңізді баптай аласыз. K мәзірінде және бүкіл KDE қолданбаларында қапшықтарды ашқанда осы файл менеджері пайдаланды.
|
||||
Comment[km]=នៅទីនេះ អ្នកអាចកំណត់រចនាសម្ព័ន្ធកម្មវិធីគ្រប់គ្រងឯកសារលំនាំដើមរបស់អ្នកបាន ។ ធាតុនៅក្នុងម៉ឺនុយ K និងកម្មវិធីរបស់ KDE ទាំងអស់ដែលអ្នកអាចបើកថត នឹងប្រើកម្មវិធីគ្រប់គ្រងឯកសារនេះ ។
|
||||
Comment[kn]=ಇಲ್ಲಿ ನೀನು ನಿನ್ನ ಪೂರ್ವನಿಯೋಜಿತ ಕಡತ ವ್ಯವಸ್ಥಾಪಕವನ್ನು ಸಂರಚಿಸಬಹುದು. ಕೆಮೆನು ನಮೂದುಗಳು ಹಾಗೂ ಕಡತಕೋಶಗಳನ್ನು ತೆರೆಯಬಹುದಾದ ಎಲ್ಲಾ ಕೆಡಿಇ ಅನ್ವಯಗಳೂ ಈ ಕಡತ ವ್ಯವಸ್ಥಾಪಕವನ್ನು ಬಳಸುತ್ತವೆ.
|
||||
Comment[ko]=여기에서 기본 파일 관리자를 설정할 수 있습니다. K 메뉴 항목과 폴더를 열 수 있는 모든 KDE 프로그램에서는 이 설정을 따라야 합니다.
|
||||
Comment[ku]=Li vir tu dikarî rêveberê xwe yê pelê a standard mîheng bikî. Hemû sepanên di pêşeka K de û yên di KDE de tu dikarî dê bi vê rêveberê ve vebin.
|
||||
Comment[lt]=Čia galite nustatyti, kuri failų tvarkytuvė bus numatytoji. Visi įrašai K meniu bei visos KDE programos, kuriomis atveriami aplankai, naudos šią failų tvarkytuvę.
|
||||
Comment[lv]=Šeit varat konfigurēt noklusēto failu pārvaldnieku. K izvēlnes ieraksti un visas KDE programmas izmantos šo parametru mapju atvēršanai.
|
||||
Comment[mai]=एतए अहाँ अपन पूर्वनिर्धारित वेब ब्राउजर केँ विन्यस्त कए सकैत अछि. सभटा केडीई अनुप्रयोग मे जकरामे हायपरलिंक चुनि सकैत छी, ओ ई विन्यासक इस्तेमाल करताह.
|
||||
Comment[mk]=Тука може да го конфигурирате Вашиот стандарден менаџер на датотеки. Елементите од менито на KDE и сите KDE-апликации во кои може да отворате папки ќе го користат овој менаџер.
|
||||
Comment[ml]=നിങ്ങളുടെ സ്വാഭാവിക ഫയല് കാര്യസ്ഥന് നിങ്ങള്ക്കിവിടെ ക്രമീകരിയ്ക്കാം. കെ വിഭവസൂചികയിലുള്ള ഇനങ്ങളും എല്ലാ കെഡിഇ പ്രയോഗങ്ങളും ഈ ഫയല് കാര്യസ്ഥന് ഉപയോഗിക്കും.
|
||||
Comment[mr]=येथे तुम्ही तुमचा मूलभूत फाईल व्यवस्थापक संयोजीत करु शकता. K मेन्यू मधील प्रवेशिका व सर्व केडीई अनुप्रयोग ज्यामध्ये तुम्ही संचयीका उघडु शकता ते हा फाईल व्यवस्थापक वापरतील.
|
||||
Comment[nb]=Her kan du sette opp filbehandleren du bruker mest. Oppføringene i K-menyen og alle KDE-programmer som kan åpne mapper vil bruke denne filbehandleren.
|
||||
Comment[nds]=Hier kannst Du Dien Standard-Dateipleger angeven. De Indrääg binnen dat K-Menü un all KDE- Programmen, binnen de Du Ornern opmaken kannst, schöölt em bruken.
|
||||
Comment[nl]=Hier kunt u uw standaard bestandsbeheerder instellen. Alle items in het K-menu en alle KDE-programma's waarin u mappen kunt openen maken gebruik van deze instelling.
|
||||
Comment[nn]=Med denne tenesta kan du setja opp standard filhandsamar. Oppføringane i K-menyen og alle KDE-program der du kan opna mapper skal bruka denne filhandsamaren.
|
||||
Comment[pa]=ਇਥੇ ਤੁਸੀਂ ਆਪਣੇ ਡਿਫਾਲਟ ਫਾਇਲ ਮੈਨੇਜਰ ਦੀ ਸੰਰਚਨਾ ਕਰ ਸਕਦੇ ਹੋ। ਕੇ ਮੇਨੂ ਵਿੱਚੋਂ ਐਂਟਰੀਆਂ ਅਤੇ ਸਭ ਕੇਡੀਈ ਐਪਲੀਕੇਸ਼ਨ, ਜਿਸ ਵਿੱਚ ਫੋਲਡਰ ਖੋਲ੍ਹੋਗੇ, ਇਹ ਫਾਇਲ ਮੈਨੇਜਰ ਵਰਤਣਗੀਆਂ।
|
||||
Comment[pl]=Tu można wybrać domyślną przeglądarkę plików. Wszystkie programy KDE, w których otwiera się katalogi, będą używać tego programu.
|
||||
Comment[pt]=Aqui poderá configurar o seu navegador Web predefinido. Todas as aplicações do KDE onde possa seleccionar hiperligações deverão respeitar esta configuração.
|
||||
Comment[pt_BR]=Aqui você pode configurar o seu gerenciador de arquivos padrão. Todas as entradas do menu K e todos os aplicativos do KDE nos quais você pode abrir pastas usarão este gerenciador de arquivos.
|
||||
Comment[ro]=Aici puteți configura gestionarul de fișiere implicit. Înregistrările din meniul K și toate aplicațiile KDE în care puteți deschide dosare vor utiliza acest gestionar de fișiere.
|
||||
Comment[ru]=Здесь можно указать диспетчер файлов по умолчанию. Все приложения KDE, в которых можно открыть папку, будут использовать указанную программу.
|
||||
Comment[se]=Dáinna bálvalusain sáhtát heivehit standárda fiilagieđahalli. Merkošat K-fálus ja buot KDE-prográmmat mat sáhttet rahpat máhpaid geavaha dán fiilagieđahalli.
|
||||
Comment[si]=මෙහිදී ඔබට සම්මත ගොනු ගවේශකය සැකසිය හැක. K මෙනුවේ ඇතුළත් කිරීම් හා බහාළුම් විවෘත කරන සියළු KDE භාවිත යෙදවුම් මෙම ගොනු ගවේශකය භාවිත කරයි.
|
||||
Comment[sk]=Tu si môžete nastaviť štandardného správcu súborov. Položky v K menu a všetky aplikácie KDE, v ktorým môžete otvoriť priečinky, budú používať tohto správcu súborov.
|
||||
Comment[sl]=Tu lahko nastavite svoj privzeti upravljalnik datotek. Ta upravljalnik bodo uporabili vnosi v meniju K in vsi KDE programi, v katerih lahko odprete mape.
|
||||
Comment[sr]=Овде подешавате подразумевани менаџер фајлова. Користиће га ставке у К‑менију и сви КДЕ програми у којима можете отварати фасцикле.
|
||||
Comment[sr@ijekavian]=Овдје подешавате подразумијевани менаџер фајлова. Користиће га ставке у К‑менију и сви КДЕ програми у којима можете отварати фасцикле.
|
||||
Comment[sr@ijekavianlatin]=Ovdje podešavate podrazumijevani menadžer fajlova. Koristiće ga stavke u K‑meniju i svi KDE programi u kojima možete otvarati fascikle.
|
||||
Comment[sr@latin]=Ovde podešavate podrazumevani menadžer fajlova. Koristiće ga stavke u K‑meniju i svi KDE programi u kojima možete otvarati fascikle.
|
||||
Comment[sv]=Här kan du anpassa förvald filhanterare. Alternativen i K-menyn och alla KDE-program där du kan öppna kataloger kommer att använda den här filhanteraren.
|
||||
Comment[ta]=தங்களது இயல்பிருப்பு கோப்பு நிர்வாகியை இவ்விடத்தே தாங்கள் வடிவமைத்துக் கொள்ளலாம். கே மெனுவில் உள்ள பதிவுகள் மற்றும் தங்களால் அடைவுகளைத் திறக்க வல்ல அனைத்து கேபசூ பயன்பாடுகள் இக்கோப்பு நிர்வாகியை பயன்படுத்திக் கொள்ளும்.
|
||||
Comment[tg]=Дар ин ҷо шумо метавонед Мудири файли стандартиро танзим кунед. Вурудҳои дар меню буда ва ҳамаи барномаҳои KDE ҳангоми кушодани феҳрастҳо ин мудири файлро истифода мебаранд.
|
||||
Comment[th]=คุณสามารถปรับแต่งตัวจัดการแฟ้มปริยายของคุณได้ที่นี่ รายการในเมนู K และโปรแกรมทั้งหมดของ KDE ที่สามารถเปิดโฟลเดอร์ได้ จะใช้ตัวจัดการแฟ้มตัวนี้
|
||||
Comment[tr]=Buradan öntanımlı dosya yöneticinizi yapılandırabilirsiniz. K menüsünde ve KDE uygulamalarında bulunan tüm dizinleri açan uygulamalar için bu uygulama kullanılacaktır.
|
||||
Comment[ug]=بۇ جايدا كۆڭۈلدىكى ھۆججەت باشقۇرغۇچىڭىزنى سەپلىيەلەيسىز. ھەممە K تىزىملىكىدىكى تۈرلەر ۋە KDE پروگراممىلاردا ھۆججەت ئاچقاندا بۇ ھۆججەت باشقۇرغۇچنى ئىشلىتىدۇ.
|
||||
Comment[uk]=Тут можна налаштувати ваш типовий інструмент для роботи з файлами. Всі пункти інструмента для запуску програм і всі програми KDE, у яких ви можете відкривати теки, використовуватимуть саме цей інструмент.
|
||||
Comment[vi]=Tại đây bạn có thể cấu hình trình quản lý tập tin mặc định của bạn. Các mục trong trình đơn K và tất cả ứng dụng KDE mà bạn có thể mở thư mục từ đó đều sẽ dùng trình quản lý tập tin này.
|
||||
Comment[wa]=Vos ploz apontyî chal vosse prémetou manaedjeu des fitchîs. Les intrêyes el dressêye K eyet tos les programes K ki vs poloz drovi des ridants ddins s' sievront di c' manaedjeu des fitchîs.
|
||||
Comment[x-test]=xxHere you can configure your default file manager. The entries in the K menu and all KDE applications in which you can open folders will use this file manager.xx
|
||||
Comment[zh_CN]=您可以在这里配置您默认的文件管理器。所有 K 菜单中的条目和 KDE 程序在打开文件夹时都会调用此文件管理器。
|
||||
Comment[zh_TW]=您可以在這裡設定您的預設檔案管理員。在 K 選單中的項目,以及所有可以開啟資料夾的 KDE 應用程式都應該遵從這個設定。
|
||||
configurationType=internal_filemanager
|
164
kcontrol/componentchooser/componentservices/kcm_kemail.desktop
Normal file
164
kcontrol/componentchooser/componentservices/kcm_kemail.desktop
Normal file
|
@ -0,0 +1,164 @@
|
|||
Icon=internet-mail
|
||||
|
||||
# ctxt: standard desktop component
|
||||
Name=Email Client
|
||||
Name[ar]=عميل البريد الإلكتروني
|
||||
Name[ast]=Veceru de corréu electrónicu
|
||||
Name[bg]=Програма за е-поща
|
||||
Name[bn]=ই-মেইল ক্লায়েন্ট
|
||||
Name[bs]=klijent e‑pošte
|
||||
Name[ca]=Client de correu
|
||||
Name[ca@valencia]=Client de correu
|
||||
Name[cs]=E-mailový klient
|
||||
Name[csb]=E-mailowô programa
|
||||
Name[da]=E-mail-klient
|
||||
Name[de]=E-Mail-Programm
|
||||
Name[el]=Πελάτης ηλ. αλληλογραφίας
|
||||
Name[en_GB]=Email Client
|
||||
Name[eo]=Retpoŝtilo
|
||||
Name[es]=Cliente de correo electrónico
|
||||
Name[et]=E-posti klient
|
||||
Name[eu]=Posta-bezeroa
|
||||
Name[fa]=کارخواه رایانامه
|
||||
Name[fi]=Sähköpostiohjelma
|
||||
Name[fr]=Client de courrier électronique
|
||||
Name[fy]=Email Client
|
||||
Name[ga]=Cliant Ríomhphoist
|
||||
Name[gl]=Cliente de correo
|
||||
Name[gu]=ઇમેલ ક્લાયન્ટ
|
||||
Name[he]=לקוח דואר־אלקטרוני
|
||||
Name[hi]=ईमेल डाकिया
|
||||
Name[hr]=Klijent e-pošte
|
||||
Name[hu]=Levelezőprogram
|
||||
Name[ia]=Cliente de E-Posta
|
||||
Name[id]=Klien Email
|
||||
Name[is]=Póstforrit
|
||||
Name[it]=Programma di posta
|
||||
Name[ja]=メールクライアント
|
||||
Name[kk]=Эл.пошта клиенті
|
||||
Name[km]=កម្មវិធីអ៊ីមែល
|
||||
Name[kn]=ವಿ-ಅಂಚೆ ಸೇವನಾರ್ಥಿ (ಕ್ಲಯಂಟ್)
|
||||
Name[ko]=이메일 클라이언트
|
||||
Name[lt]=El. pašto programa
|
||||
Name[lv]=E-pasta klients
|
||||
Name[mai]=ईमेल डाकिया
|
||||
Name[mk]=Клиент за е-пошта
|
||||
Name[ml]=ഈമെയില് ക്ലയന്റ്
|
||||
Name[mr]=इमेल ग्राहक
|
||||
Name[nb]=E-postprogram
|
||||
Name[nds]=Nettpost-Programm
|
||||
Name[nl]=E-mailprogramma
|
||||
Name[nn]=E-postprogram
|
||||
Name[pa]=ਈ-ਮੇਲ ਕਲਾਇਟ
|
||||
Name[pl]=Program pocztowy
|
||||
Name[pt]=Cliente de E-mail
|
||||
Name[pt_BR]=Cliente de e-mail
|
||||
Name[ro]=Client de poștă
|
||||
Name[ru]=Почтовый клиент
|
||||
Name[si]=තැපෑල් සහායක
|
||||
Name[sk]=E-mailový klient
|
||||
Name[sl]=Odjemalec e-pošte
|
||||
Name[sr]=клијент е‑поште
|
||||
Name[sr@ijekavian]=клијент е‑поште
|
||||
Name[sr@ijekavianlatin]=klijent e‑pošte
|
||||
Name[sr@latin]=klijent e‑pošte
|
||||
Name[sv]=E-postklient
|
||||
Name[tg]=Мизоҷи почта
|
||||
Name[th]=โปรแกรมรับ/ส่งอีเมล
|
||||
Name[tr]=E-posta İstemcisi
|
||||
Name[ug]=ئېلخەت خېرىدارى
|
||||
Name[uk]=Клієнт електронної пошти
|
||||
Name[vi]=Trình khách thư điện tử
|
||||
Name[wa]=Cliyint d' emilaedje
|
||||
Name[x-test]=xxEmail Clientxx
|
||||
Name[zh_CN]=电子邮件客户端程序
|
||||
Name[zh_TW]=電子郵件客戶端程式
|
||||
Comment=This service allows you to configure your default email client. All KDE applications which need access to an email client application should honor this setting.
|
||||
Comment[af]=Hierdie diens laat jou toe om jou standaard e-pos kliënt op te stel. Al die KDE programme wat toegang tot 'n e-pos kliënt benodig behoort hierdie instelling te gebruik.
|
||||
Comment[ar]=هذه الخدمة تسمح لك بضبط عميل بريدك الإلكتروني. كل تطبيقات كدي التي تحتاج الوصول لتطبيق عميل البريد الإلكتروني ينبغي أن تحترم هذا الإعداد.
|
||||
Comment[ast]=Esti serviciu permite configurar el veceru de corréu predetermináu. Toles aplicaciones KDE que precisen accesu a una aplicación de veceru de corréu deberíen reconocer esta opción.
|
||||
Comment[be]=Гэты сервіс дазваляе вызначыць для сябе стандартны кліент электроннай пошты. Усе праграмы KDE, у якіх вы можаце выбраць гіперспасылку, павінны выкарыстоўваць гэтае настаўленне.
|
||||
Comment[be@latin]=Hetaja słužba dazvalaje vybrać sabie zmoŭčany paštar. Usie aplikacyi KDE, jakija karystajucca paštarom, pavinnyja źviartać uvahu na hetuju naładu.
|
||||
Comment[bg]=Избор на предпочитана програма за поща. Всички програми от KDE, които се нуждаят от достъп до електронната поща, ще ползват този компонент.
|
||||
Comment[bn]=এই সার্ভিসটির সাহায্যে আপনার ডিফল্ট ই-মেইল ক্লায়েন্ট কনফিগার করতে পারেন। যে কোনো কে.ডি.ই. অ্যাপলিকেশনের ই-মেইল ক্লায়েন্ট প্রয়োজন হলে এই নির্বাচন মানা উচিত।
|
||||
Comment[bs]=Ovaj servis omogućava da podesite podrazumijevani klijent e‑pošte. Svi KDE programi koji traže pristup e‑pošti treba da poštuju ovu postavku.
|
||||
Comment[ca]=Aquest servei us permet configurar el vostre client de correu per omissió. Totes les aplicacions KDE que precisin d'accés a una aplicació de client de correu hauria de reconèixer aquesta opció.
|
||||
Comment[ca@valencia]=Este servei vos permet configurar el vostre client de correu per omissió. Totes les aplicacions KDE que precisin d'accés a una aplicació de client de correu hauria de reconèixer esta opció.
|
||||
Comment[cs]=Tato služba umožňuje nastavit si výchozího klienta emailu. Všechny KDE aplikace, které vyžadují přístup k e-mailové aplikaci, by měly používat toto nastavení.
|
||||
Comment[csb]=Tuwò mòżne wëbrac domëslną pòcztową programã. Wszëtczé programë KDE, w jaczich brëkùje sã z lënkòw, mùszôłëbë ùżëwac tegò ùstôwù.
|
||||
Comment[cy]=Mae'r gwasanaeth ymayn gadael i chi ffurfweddu eich dibynnydd ebost cyffredinol. Dylai bob raglen KDE sydd angen cyrchiad i ddibynnydd ebost ddefnyddio'r gosodiad yma.
|
||||
Comment[da]=Denne service tillader dig at indstille din e-mail-klient. Alle KDE-programmer der behøver adgang til en e-mail-klient skulle respektere denne indstilling.
|
||||
Comment[de]=Hier können Sie Ihr Standard-E-Mail-Programm einrichten. Alle KDE-Anwendungen, die Zugriff auf ein solches Programm benötigen, sollten diese Einstellungen verwenden.
|
||||
Comment[el]=Αυτή η υπηρεσία σας επιτρέπει να διαμορφώσετε τον προκαθορισμένο πελάτη της αλληλογραφίας σας. Όλες οι εφαρμογές του KDE που χρειάζονται πρόσβαση σε μια εφαρμογή πελάτη αλληλογραφίας θα πρέπει να τηρούν αυτήν τη ρύθμιση.
|
||||
Comment[en_GB]=This service allows you to configure your default email client. All KDE applications which need access to an email client application should honour this setting.
|
||||
Comment[eo]=Ĉi tie vi povas agordi vian aprioran retpoŝtilon. Ĉiuj aplikaĵoj de KDE, kiuj necesas akiron al retpoŝtilo, observos ĉi tiun agordon.
|
||||
Comment[es]=Este servicio le permite configurar su cliente de correo predeterminado. Todas las aplicaciones KDE que precisen acceso a una aplicación de cliente de correo deberían reconocer esta opción.
|
||||
Comment[et]=See teenus võimaldab sul määrata kindlaks vaikimisi kasutatava e-posti kliendi. Kõik KDE rakendused, mis vajavad mingil moel e-posti klienti, peaksid arvestama selle seadega.
|
||||
Comment[eu]=Zerbitzu honen bidez, posta elektronikoko bezero lehenetsia konfigura dezakezu. Posta elektronikoko bezeroa behar duten KDE aplikazio guztiek eduki beharko lukete ezarpen hau.
|
||||
Comment[fa]=این خدمت به شما اجازه پیکربندی کارخواه رایانامه پیشفرضتان را میدهد. همه کاربردهای KDE که نیاز به دستیابی به کاربردهای کارخواه رایانامه دارند، باید این تنظیم را قبول کنند.
|
||||
Comment[fi]=Tämän palvelun avulla voit muokata oletussähköpostiohjelmaasi. Kaikki sähköpostiohjelmaa käyttävät KDE-sovellukset huomioivat tämän asetuksen.
|
||||
Comment[fr]=Ce service vous permet de configurer votre client de courrier électronique par défaut. Toutes les applications KDE qui ont besoin d'accéder à un client de courrier électronique doivent accepter ce réglage.
|
||||
Comment[fy]=Mei dizze tsjinst kinne jo de standert e-postprogramma ynstelle. KDE-tapassingen dy tagong ta in e-postprogramma neadich ha sille dizze ynstellings brûke.
|
||||
Comment[ga]=Leis an tseirbhís seo is féidir cliant réamhshocraithe ríomhphoist a chumrú. Onóróidh gach feidhmchlár KDE a úsáideann cliant ríomhphoist an socrú seo.
|
||||
Comment[gl]=Este servizo permítelle configurar o cliente de correo predeterminado. Todos os programas de KDE que precisen acceso ao programa de correo electrónico deberían ter en conta esta opción.
|
||||
Comment[gu]=આ સેવા તમને તમારું મૂળભૂત ઇમેલ ક્લાયન્ટ રૂપરેખાંકિત કરવા દેશે. બધા KDE કાર્યક્રમો જે ઇમેલ ક્લાયન્ટ કાર્યક્રમનો ઉપયોગ કરતાં હોય તે આ ગોઠવણીને અનુસરશે.
|
||||
Comment[he]=כאן ניתן להגדיר את לקוח הדואר־אלקטרוני שישמש כברירת־המחדל. כל יישומי KDE ישתמשו בלקוח זה כלקוח הדואר־אלקטרוני.
|
||||
Comment[hi]=यह सेवा आपको आपके डिफ़ॉल्ट ईमेल क्लाएंट को कॉन्फ़िगर करने की स्वीकृति देती है. सभी केडीई अनुप्रयोग जो ईमेल क्लाएंट अनुप्रयोग एक्सेस करते हैं, वे इस विन्यास इस्तेमाल करेंगे.
|
||||
Comment[hne]=ये सेवा आप मन ल आप मन के डिफाल्ट ईमेल क्लायंट ल कान्फिगर करे के स्वीकृति देथे. सब्बो केडीई अनुपरयोग जऊन ईमेल क्लायंट अनुपरयोग एक्सेस करथे , ओ मन एखर सेटिंग उपयोग करही.
|
||||
Comment[hr]=Usluga koja omogućuje konfiguriranje zadanog klijenta e-pošte. Sve KDE-ove aplikacije koje zahtijevaju pristup klijentu e-pošte poštivat će ovaj odabir.
|
||||
Comment[hsb]=Tuta słužba Wam dowoli swój standardny emejlowy program připrawić. Wšitke KDE-aplikacije, kotrež trjebaja emejlowy program, měli so po tutych nastajenjach měć.
|
||||
Comment[hu]=Ez a szolgáltatás lehetővé teszi az alapértelmezett e-mail-kliens előírását. Az összes KDE-alkalmazásnak figyelembe kell vennie ezt az értéket a levelezőprogram elindításakor.
|
||||
Comment[ia]=Iste servicio permitte te de configurar tu cliente de e-posta predefinite. Omne applicationes KDE que necessita un accesso a un application de e-posta debera honorar iste preferentia.
|
||||
Comment[id]=Layanan ini memungkinkan anda untuk mengatur klien email standar anda. Semua aplikasi KDE yang memerlukan akses ke aplikasi klien email akan mengikuti pengaturan ini.
|
||||
Comment[is]=Þessi þjónusta leyfir þér að skilgreina sjálfgefið tölvupóstforrit. Öll KDE forrit sem þurfa aðgengi að tölvupóstforriti ættu að virða þessa stillingu.
|
||||
Comment[it]=Questo servizio permette di configurare il programma di posta elettronica preferito. Tutte le applicazioni di KDE che avranno bisogno di accedere ad un programma di posta elettronica rispetteranno questa impostazione.
|
||||
Comment[ja]=デフォルトで使用するメールクライアントを設定します。メールクライアントを必要とするすべての KDE アプリケーションは、この設定に従います。
|
||||
Comment[ka]=აქ შეიძლება სტანდარტული საფოსტო კლიენტის დაკონფიგურირება. KDE-ს ყველა პროგრამა, ვისაც სჭირდება ფოსტა, გაითვალისწინებენ ამ პარამეტრს
|
||||
Comment[kk]=Мұнда Сіз әдетті эл.пошта клиентін таңдай аласыз. Бүкіл KDE қолданбаларда эл.пошта керек болғанда осы таңдау қолданылады.
|
||||
Comment[km]=សេវានេះអនុញ្ញាតឲ្យអ្នកកំណត់រចនាសម្ព័ន្ធកម្មវិធីអ៊ីមែលលំនាំដើមរបស់អ្នក ។ កម្មវិធី KDE ទាំងអស់ដែលតម្រូវឲ្យចូលដំណើរការទៅកាន់កម្មវិធីអ៊ីមែលគួរគោរពតាមការកំណត់នេះ ។
|
||||
Comment[kn]=ಈ ಸೇವೆಯು ನಿನ್ನ ಪೂರ್ವನಿಯೋಜಿತ ವಿ-ಅಂಚೆ ಸೇವನಾರ್ಥಿಯನ್ನು (ಕ್ಲಯಂಟ್) ಸಂರಚಿಸಲು ಅನುವುಮಾಡಿಕೊಡುತ್ತದೆ. ವಿ-ಅಂಚೆ ಸೇವನಾರ್ಥಿಗೆ ಸಂಪರ್ಕ ಬೆಳೆಸಬೇಕಾದ ಎಲ್ಲಾ ಕೆಡಿಇ ಅನ್ವಯಗಳೂ ಈ ಸಂಯೋಜನೆಗಳನ್ನು ಗೌರವಿಸಬೇಕಾಗುತ್ತದೆ.
|
||||
Comment[ko]=이 서비스에서는 기본 이메일 클라이언트를 설정할 수 있습니다. 이메일 클라이언트에 접근하려고 하는 모든 KDE 프로그램에서는 이 설정을 따라야 합니다.
|
||||
Comment[ku]=Ev xizmet destûrê dide te ku navrûyê e-peyamê ya standard mîheng bikî. Hemû sepanên KDE'yê yên ku tu dikarî hyperlînkê hilbijêrî dê vê mîhengê erê bikin.
|
||||
Comment[lt]=Ši tarnyba leidžia jums nustatyti Jūsų numatytą pašto klientą. Visos KDE programos, kurioms reikia el. pašto kliento programos, turėtų atsižvelgti į šį nustatymą.
|
||||
Comment[lv]=Šeit varat konfigurēt noklusējuma e-pasta klientu. Visas KDE programmas, kurām ir nepieciešams e-pasts, izmantos šo parametru.
|
||||
Comment[mai]=ई सेवा अहाँक अहाँक पूर्वनिर्धारित इमेल क्लाएंट केँ बिन्यस्त करबाक स्वीकृति देत अछि. सबहि केडीई अनुप्रयोग जे इमेल क्लाएंट अनुप्रयोग एक्सेस करैत अछि, ओ एहि सेटिंग इस्तेमाल करताह.
|
||||
Comment[mk]=Овој сервис ви овозможува да го конфигурирате вашиот стандарден клиент за електронска пошта. Сите KDE-апликации на кои им е потребен пристап до електронска пошта ќе ги почитуваат овие поставувања.
|
||||
Comment[ml]=നിങ്ങളുടെ സഹജമായ ഇമെയില് ക്ലയന്റ് നിങ്ങള്ക്കിവിടെ ക്രമീകരിയ്ക്കാം. ഇമെയില് ക്ലയന്റ് ഉപയോഗിയ്ക്കാന് ആവശ്യമുള്ള എല്ലാ കെഡിഇ പ്രയോഗങ്ങളും ഇതു് മാനിയ്ക്കണം.
|
||||
Comment[mr]=ही सेवा आपल्याला मूलभूत इमेल ग्राहक संयोजीत करण्यास सहमती सहमती देते. सर्व केडीई अनुप्रयोग ज्यांस इमेल ग्राहक अनुप्रयोग करिता प्रवेशाची आवश्यकता असते त्यांनी ही संयोजना स्वीकारली पाहिजे.
|
||||
Comment[ms]=Servis ini membolehkan anda konfigur klien e-mel piawai anda. Semua aplikasi KDE yang perlu akses kepada aplikasi klien e-mel hendaklah menerima seting ini.
|
||||
Comment[nb]=Med denne tjenesten kan du sette opp standard-e-postprogrammet. Alle KDE-programmer som trenger tilgang til e-post bør ta hensyn til denne innstillinga.
|
||||
Comment[nds]=Hier kannst Du Dien Standard-Nettpostprogramm angeven. All KDE- Programmen, de Togang to'n Nettpostprogramm bruukt, schullen dat denn anwennen.
|
||||
Comment[ne]=यो सेवाले तपाईँलाई पूर्वनिर्धारित इमेल क्लाइन्ट कन्फिगर गर्न अनुमति दिन्छ । इमेल क्लाइन्ट अनुप्रयोग पहुँच आवश्यक पर्ने सबै केडीई अनुप्रयोगहरूले यो सेटिङ मान्नु पर्छ ।
|
||||
Comment[nl]=Met deze service kunt u uw standaard e-mailprogramma instellen. KDE-toepassingen die toegang tot een e-mailprogramma nodig hebben zullen deze instellingen gebruiken.
|
||||
Comment[nn]=Med denne tenesta kan du setja opp standard-e-postprogrammet. Alle KDE-program som treng tilgang til e-post bør følgja denne innstillinga.
|
||||
Comment[pa]=ਇਥੇ ਤੁਸੀਂ ਆਪਣੇ ਡਿਫਾਲਟ ਈ-ਮੇਲ ਕਲਾਇਟ ਦੀ ਸੰਰਚਨਾ ਕਰ ਸਕਦੇ ਹੋ। ਸਭ KDE ਕਾਰਜ, ਜਿਨਾਂ ਨੇ ਵੀ ਈ-ਮੇਲ ਕਲਾਇਟ ਵਰਤਣਾ ਹੈ, ਇਸ ਸੈਟਿੰਗ ਦਾ ਸਨਮਾਨ ਕਰਨਗੇ।
|
||||
Comment[pl]=Tu można wybrać domyślny program pocztowy. Wszystkie programy KDE, które korzystają z poczty, powinny używać tego ustawienia.
|
||||
Comment[pt]=Este serviço permite-lhe configurar o seu cliente de e-mail por omissão. Todas as aplicações do KDE que necessitem do acesso a um cliente de e-mail devem respeitar esta configuração.
|
||||
Comment[pt_BR]=Este serviço permite a você configurar o seu cliente de e-mail padrão. Todos os aplicativos do KDE que precisarem acessar um cliente de e-mail devem seguir esta configuração.
|
||||
Comment[ro]=Acest serviciu vă permite să configurați clientul de email implicit. Toate aplicațiile KDE care au nevoie de o aplicație client de email ar trebui să onoreze această setare.
|
||||
Comment[ru]=Здесь можно указать почтовый клиент по умолчанию. Все приложения KDE, которым нужен почтовый клиент, будут использовать указанную программу.
|
||||
Comment[se]=Dáinna bálvalusain sáhtát heivehit standárd e-boastaprográmma. Buot KDE-prográmmat mat geavahit e-boastta berret dáid heivehusaid geavahit.
|
||||
Comment[si]=මෙම සේවාව ඔබේ පෙරනිමි තැපැල් සහායක සැකසීමට ඉඩ දේ. තැපැල් වැඩසටහනකට පිවිසිම ඇවැසි සියළු KDE භාවිතයෙදවුම් මෙම සැකසුම් පිළිගත යුතුය.
|
||||
Comment[sk]=Táto služba umožňuje nastaviť štandardného klienta elektronickej pošty. Všetky aplikácie KDE, ktoré používajú poštového klienta, by mali používať toto nastavenie.
|
||||
Comment[sl]=Ta storitev vam omogoča nastavitev vašega privzetega odjemalca e-pošte. Vsi KDE programi, ki ga uporabljajo, bi morali upoštevati te nastavitve.
|
||||
Comment[sr]=Овај сервис омогућава да подесите подразумевани клијент е‑поште. Сви КДЕ програми који траже приступ е‑пошти треба да поштују ову поставку.
|
||||
Comment[sr@ijekavian]=Овај сервис омогућава да подесите подразумијевани клијент е‑поште. Сви КДЕ програми који траже приступ е‑пошти треба да поштују ову поставку.
|
||||
Comment[sr@ijekavianlatin]=Ovaj servis omogućava da podesite podrazumijevani klijent e‑pošte. Svi KDE programi koji traže pristup e‑pošti treba da poštuju ovu postavku.
|
||||
Comment[sr@latin]=Ovaj servis omogućava da podesite podrazumevani klijent e‑pošte. Svi KDE programi koji traže pristup e‑pošti treba da poštuju ovu postavku.
|
||||
Comment[sv]=Den här tjänsten låter dig anpassa förvald e-postklient. Alla KDE-program som behöver använda e-postklient ska använda den här inställningen
|
||||
Comment[ta]=இந்த சேவை உங்களுடைய முன்னிருந்த மின் அஞ்சல் உறுப்பினரை வடிவமைத்துக் கொள்ள அனுமதிக்கிறது. மின் அஞ்சல் உறுப்பினர் பயன்பாடு தேவைப்படுகிற எல்லா கேடிஇ பயன்பாடுகளும் இந்த அமைப்பை நிறுவவேண்டும்.
|
||||
Comment[te]=మీ అప్రమేయ ఈమెయిల్ క్లైంట్ను ఆకృతీకరించుటకు ఈ సేవ అనుమతిస్తుంది. ఈమెయిల్ క్లైంట్ అనువర్తనం అవసరంవున్న ఏ KDE అనువర్తనాలైనా ఈ అమర్పును సమ్మతిస్తాయి.
|
||||
Comment[tg]=Дар ин ҷо шумо метавонед Мизоҷи почтаи стандартиро танзим кунед. Ҳамаи барномаҳои KDE ҳангоми кушодани барномаи мизоҷи почта ин танзимотро истифода мебаранд.
|
||||
Comment[th]=บริการนี้จะอนุญาตให้คุณตั้งโปรแกรมรับส่งอีเมลปริยายของคุณ โปรแกรมของ KDE ทุกตัวซึ่งจำเป็นต้องใช้งานโปรแกรมรับส่งอีเมล จะทำตามค่าที่ตั้งนี้
|
||||
Comment[tr]=Bu servis öntanımlı e-posta istemcinizi seçmenize yardımcı olur.
|
||||
Comment[ug]=بۇ مۇلازىمەت كۆڭۈلدىكى ئېلخەت خېرىدار پروگراممىڭىزنى سەپلىشىڭىزگە يول قويىدۇ. ئېلخەت خېرىدار پروگراممىسىنى زىيارەت قىلماقچى بولغان ھەممە KDE پروگراممىسى بۇ تەڭشەككە بويسۇنىدۇ.
|
||||
Comment[uk]=За допомогою цієї служби ви можете налаштувати ваш типовий клієнт електронної пошти. Всі програми KDE, яким потрібен доступ до клієнта електронної пошти будуть користуватися цими параметрами.
|
||||
Comment[uz]=Bu xizmat andoza xat-xabar klientingizni moslash uchun imkoniyat yaratadi. Xat-xabar klienti kerak boʻlgan hamma KDE dasturlari shu moslamadan foydalanishi kerak.
|
||||
Comment[uz@cyrillic]=Бу хизмат андоза хат-хабар клиентингизни мослаш учун имконият яратади. Хат-хабар клиенти керак бўлган ҳамма KDE дастурлари шу мосламадан фойдаланиши керак.
|
||||
Comment[vi]=Dịch vụ này cho phép bạn cấu hình trình thư mặc định. Tất cả các chương trình của KDE cần gửi thư điện tử đều dựa vào thiết lập này.
|
||||
Comment[wa]=Ci siervice vos permete d' apontyî vosse prémetou cliyint d' emile. Tos les programes KDE k' åront dandjî d' aveur accès a on cliyint emile duvrént shure cisse tchuze.
|
||||
Comment[xh]=Lenkonzo ikuvumela ukuba uqwalasele umxhasi wakho we email. Zonke izicelo ezidinga unikezelo kumxhasi we email wesicelo kufuneka yamkele esisicelo.
|
||||
Comment[x-test]=xxThis service allows you to configure your default email client. All KDE applications which need access to an email client application should honor this setting.xx
|
||||
Comment[zh_CN]=此服务允许您配置您的默认电子邮件客户端程序。所有需要访问电子邮件客户端程序的 KDE 应用程序都遵从此设置。
|
||||
Comment[zh_TW]=這個服務允許您設定您的預設電子郵件客戶端程式。所有需要使用電子郵件客戶端應用程式的 KDE 應用程式都應該遵從這個設定。
|
||||
configurationType=internal_email
|
164
kcontrol/componentchooser/componentservices/kcm_terminal.desktop
Normal file
164
kcontrol/componentchooser/componentservices/kcm_terminal.desktop
Normal file
|
@ -0,0 +1,164 @@
|
|||
Icon=utilities-terminal
|
||||
|
||||
# ctxt: standard desktop component
|
||||
Name=Terminal Emulator
|
||||
Name[ar]=محاكي الطرفية
|
||||
Name[ast]=Emulador de terminal
|
||||
Name[bg]=Конзолна програма
|
||||
Name[bn]=টার্মিনাল এমুলেটর
|
||||
Name[bs]=emulator terminala
|
||||
Name[ca]=Emulador de terminal
|
||||
Name[ca@valencia]=Emulador de terminal
|
||||
Name[cs]=Emulátor terminálu
|
||||
Name[csb]=Emùlator terminala
|
||||
Name[da]=Terminalemulator
|
||||
Name[de]=Terminal-Emulator
|
||||
Name[el]=Προσομοιωτής τερματικού
|
||||
Name[en_GB]=Terminal Emulator
|
||||
Name[eo]=Terminalo
|
||||
Name[es]=Emulador de terminal
|
||||
Name[et]=Terminaliemulaator
|
||||
Name[eu]=Terminal-emuladorea
|
||||
Name[fa]=مقلد پایانه
|
||||
Name[fi]=Pääte-emulaattori
|
||||
Name[fr]=Émulateur de terminal
|
||||
Name[fy]=Terminal emulator
|
||||
Name[ga]=Aithriseoir Teirminéil
|
||||
Name[gl]=Emulador de terminal
|
||||
Name[gu]=ટર્મિનલ ઇમ્યુલેટર
|
||||
Name[he]=מדמה מסוף
|
||||
Name[hi]=टर्मिनल एमुलेटर
|
||||
Name[hr]=Emulator terminala
|
||||
Name[hu]=Terminál
|
||||
Name[ia]=Emulator de Terminal
|
||||
Name[id]=Emulator Terminal
|
||||
Name[is]=Skjáhermir
|
||||
Name[it]=Emulatore di terminale
|
||||
Name[ja]=ターミナルエミュレータ
|
||||
Name[kk]=Терминал эмуляторы
|
||||
Name[km]=កម្មវិធីត្រាប់តាមស្ថានីយ
|
||||
Name[kn]=ಆದೇಶತೆರೆ ಅನುವರ್ತಕ (ಎಮುಲೇಟರ್)
|
||||
Name[ko]=터미널 에뮬레이터
|
||||
Name[lt]=Terminalo emuliatorius
|
||||
Name[lv]=Termināla emulators
|
||||
Name[mai]=टर्मिनल एमुलेटर
|
||||
Name[mk]=Терминалски емулатор
|
||||
Name[ml]=ടെര്മിനല് എമുലേറ്റര്
|
||||
Name[mr]=टर्मिनल एम्युलेटर
|
||||
Name[nb]=Terminalemulator
|
||||
Name[nds]=Terminal-Emulater
|
||||
Name[nl]=Terminalprogramma
|
||||
Name[nn]=Terminalemulator
|
||||
Name[pa]=ਟਰਮੀਨਲ ਸਮਰੂਪ
|
||||
Name[pl]=Emulator terminala
|
||||
Name[pt]=Emulador de Terminal
|
||||
Name[pt_BR]=Emulador de terminal
|
||||
Name[ro]=Emulator de terminal
|
||||
Name[ru]=Эмулятор терминала
|
||||
Name[si]=අග්ර එමියුලේටර
|
||||
Name[sk]=Emulátor terminálu
|
||||
Name[sl]=Posnemovalnik terminala
|
||||
Name[sr]=емулатор терминала
|
||||
Name[sr@ijekavian]=емулатор терминала
|
||||
Name[sr@ijekavianlatin]=emulator terminala
|
||||
Name[sr@latin]=emulator terminala
|
||||
Name[sv]=Terminalemulator
|
||||
Name[tg]=Тақлидгари терминал
|
||||
Name[th]=โปรแกรมจำลองเทอร์มินัล
|
||||
Name[tr]=Uçbirim Öykünücü
|
||||
Name[ug]=تېرمىنال تەقلىدلەشتۈرگۈچ
|
||||
Name[uk]=Емулятор термінала
|
||||
Name[vi]=Trình mô phỏng thiết bị cuối
|
||||
Name[wa]=Terminå
|
||||
Name[x-test]=xxTerminal Emulatorxx
|
||||
Name[zh_CN]=终端仿真器
|
||||
Name[zh_TW]=終端機模擬程式
|
||||
Comment=This service allows you to configure your default terminal emulator. All KDE applications which invoke a terminal emulator application should honor this setting.
|
||||
Comment[af]=Hierdie diens laat jou toe om jou standaard terminaal emuleerder op te stel. Al die KDE programme wat 'n terminaal skep behoort hierdie instelling te gebruik.
|
||||
Comment[ar]=هذه الخدمة تسمح لك لضبط محاكي الطرفية الافتراضي لديك. كل تطبيقات كدي التي تستدعي تطبيق محاكي الطرفية يبنغي أن تحترم هذا الإعداد.
|
||||
Comment[ast]=Esti serviciu permite configurar l'emulador de terminal predetermináu. Toles aplicaciones KDE qu'invoquen al emulador de terminal deberíen reconocer esta opción.
|
||||
Comment[be]=Гэты сервіс дазваляе вызначыць для сябе стандартны эмулятар тэрміналу. Усе праграмы KDE, якія запускаюць эмулятар тэрміналу, павінны выкарыстоўваць гэтае настаўленне.
|
||||
Comment[be@latin]=Hetaja słužba dazvalaje vybrać sabie zmoŭčany emulatar terminała. Usie aplikacyi KDE, jakija ŭklučajuć emulatar terminała, pavinnyja źviartać uvahu na hetuju naładu.
|
||||
Comment[bg]=Избор на предпочитана конзолна програма. Всички програми от KDE, които се нуждаят от достъп до конзолата, ще ползват този компонент.
|
||||
Comment[bn]=এই সার্ভিসটির সাহায্যে আপনার ডিফল্ট টার্মিনাল এমুলেটর কনফিগার করতে পারেন। যে কোনো কে.ডি.ই. অ্যাপলিকেশনের টার্মিনাল এমুলেটর চালানোর প্রয়োজন হলে এই নির্বাচন মানা উচিত।
|
||||
Comment[bs]=Ovaj servis omogućava da podesite podrazumijevani emulator terminala. Svi KDE programi koji pozivaju terminal treba da poštuju ovu postavku.
|
||||
Comment[ca]=Aquest servei us permet configurar el vostre emulador de terminal per omissió. Totes les aplicacions KDE que precisin d'accés a una aplicació de client de correu hauria de reconèixer aquesta opció.
|
||||
Comment[ca@valencia]=Este servei vos permet configurar el vostre emulador de terminal per omissió. Totes les aplicacions KDE que precisin d'accés a una aplicació de client de correu hauria de reconèixer esta opció.
|
||||
Comment[cs]=Tato služba umožňuje nastavit si výchozího emulátor terminálu. Všechny KDE aplikace, které spouští emulátor terminálu, by měly používat toto nastavení.
|
||||
Comment[csb]=Tuwò mòżne wëbrac domëslny emùlator terminala. Wszëtczé programë KDE, w jaczich brëkùje sã z lënkòw, mùszôłëbë ùżëwac tegò ùstôwù.
|
||||
Comment[cy]=Mae'r gwasanaeth yma yn gadael i chi ffurfweddu eich efelychydd terfynell cyffredinol. Dylai pob rhaglen KDE sy'n cychwyn efelychydd terfynell ddefnyddio'r gosodiad yma.
|
||||
Comment[da]=Denne service tillader dig at indstille din terminalemulator. Alle KDE-programmer der behøver adgang til en terminalemulator skulle respektere denne indstilling.
|
||||
Comment[de]=Hier können Sie den voreingestellten Terminal-Emulator einrichten. Alle KDE-Anwendungen, die Zugriff auf ein solches Programm benötigen, sollten diese Einstellungen verwenden.
|
||||
Comment[el]=Αυτή η υπηρεσία σας επιτρέπει να διαμορφώσετε τον προκαθορισμένο προσομοιωτή τερματικού σας. Όλες οι εφαρμογές του KDE που καλούν μια εφαρμογή προσομοιωτή τερματικού θα πρέπει να τηρούν αυτήν τη ρύθμιση.
|
||||
Comment[en_GB]=This service allows you to configure your default terminal emulator. All KDE applications which invoke a terminal emulator application should honour this setting.
|
||||
Comment[eo]=Ĉi tiu servo permesas vin agordi vian aprioran terminalon. Ĉiuj aplikaĵoj de KDE, kiuj alvokas terminalon, observos ĉi tiun agordon.
|
||||
Comment[es]=Este servicio le permite configurar su emulador de terminal predeterminado. Todas las aplicaciones KDE que invoquen un emulador de terminal deberían reconocer esta opción.
|
||||
Comment[et]=See teenus võimaldab sul määrata kindlaks vaikimisi kasutatava terminaliemulaatori. Kõik KDE rakendused, mis vajavad mingil moel terminaliemulaatorit, peaksid arvestama selle seadega.
|
||||
Comment[eu]=Zerbitzu honen bidez, terminal-emuladore lehenetsia konfigura dezakezu. Terminal-emuladore bati deitu behar dioten KDE aplikazio guztiek eduki beharko lukete ezarpen hau.
|
||||
Comment[fa]=این خدمت به شما اجازه پیکربندی مقلد پایانه پیشفرضتان را میدهد. همه کاربردهای KDE که نیاز به دستیابی به کاربردهای کارخواه رایانامه دارند، باید این تنظیم را قبول کنند.
|
||||
Comment[fi]=Tämän palvelun avulla voit muokata oletuspääte-emulaattoria. Kaikki pääte-emulaattoria käyttävät KDE-sovellukset huomioivat tämän asetuksen.
|
||||
Comment[fr]=Ce service vous permet de configurer votre émulateur de terminal par défaut. Toutes les applications KDE qui appellent une application d'émulation de terminal doivent accepter ce réglage.
|
||||
Comment[fy]=Mei dizze tsjinst kinne jo de standert terminalemulator ynstelle. Alle KDE-tapassingen dy in terminalemulator oanroppe sille brûk meitsje fan dizze ynstelling.
|
||||
Comment[ga]=Leis an tseirbhís seo is féidir aithriseoir réamhshocraithe teirminéil a chumrú. Onóróidh gach feidhmchlár KDE a úsáideann aithriseoir teirminéil an socrú seo.
|
||||
Comment[gl]=Este servizo permítelle configurar o emulador de terminal predeterminado. Todos os programas de KDE que invoquen un emulador de terminal deberían facer caso desta opción.
|
||||
Comment[gu]=આ સેવા તમને તમારું મૂળભૂત ટર્મિનલ ઇમ્યુલેટર રૂપરેખાંકિત કરવા દેશે. બધા KDE કાર્યક્રમો જે ટર્મિનલ ઇમ્યુલેટર કાર્યક્રમનો ઉપયોગ કરતાં હોય તે આ ગોઠવણીને અનુસરશે.
|
||||
Comment[he]=כאן ניתן להגדיר את מדמה המסוף שישמש כברירת־המחדל. כל יישומי KDE ישתמשו במדמה מסוף זה כמדמה המסוף.
|
||||
Comment[hi]=यह सेवा आपको आपके डिफ़ॉल्ट टर्मिनल एमुलेटर को कॉन्फ़िगर करने की स्वीकृति देती है. सभी केडीई अनुप्रयोग जो टर्मिनल एमुलेटर अनुप्रयोग चालू करते हैं, वे इस विन्यास इस्तेमाल करेंगे.
|
||||
Comment[hne]=ये सेवा आप मन ल आप मन के डिफाल्ट टर्मिनल एमुलेटर ल कान्फिगर करे के स्वीकृति देथे . सब्बो केडीई अनुपरयोग जऊन टर्मिनल एमुलेटर अनुपरयोग चालू करथे, ओ मन एखर सेटिंग उपयोग करही.
|
||||
Comment[hr]=Usluga koja omogućuje konfiguriranje zadanog emulatora terminala. Sve KDE-ove aplikacije koje pozivaju aplikaciju emulatora terminala poštivat će ovaj odabir.
|
||||
Comment[hsb]=Tuta słužba Wam dowoli swój standardny terminalowy program připrawić. Wšitke KDE-aplikacije, kotrež trjebaja terminalowy program, měli so po tutych nastajenjach měć.
|
||||
Comment[hu]=Ez a szolgáltatás lehetővé teszi az alapértelmezett parancsértelmező előírását. Az összes KDE-alkalmazásnak figyelembe kell vennie ezt az értéket a parancsértelmező elindításakor.
|
||||
Comment[ia]=Iste servicio permitte te de configurar tu emulator de terminal predefinite. Omne applicationes KDE que invoca un application de emulator de terminal honora iste preferentia.
|
||||
Comment[id]=Layanan ini memungkinkan anda untuk mengatur emulator terminal standar anda. Semua aplikasi KDE yang menyebutkan aplikasi emulator terminal akan mengikuti pengaturan ini.
|
||||
Comment[is]=Þessi þjónusta leyfir þér að skilgreina sjálfgefinn skjáhermi. Öll KDE forrit sem þurfa aðgengi að skjáhermi ættu að virða þessa stillingu.
|
||||
Comment[it]=Questo servizio permette di configurare il programma di emulazione di terminale preferito. Tutte le applicazioni di KDE che avranno bisogno di aprire un terminale rispetteranno questa impostazione.
|
||||
Comment[ja]=デフォルトで使用するターミナルエミュレータを設定します。ターミナルエミュレータを起動するすべての KDE アプリケーションは、この設定に従います。
|
||||
Comment[ka]=Comment=აქ შეიძლება სტანდარტული ტერმინალის ემულატორის დაკონფიგურირება. KDE-ს ყველა პროგრამა, ვისაც სჭირდება ფოსტა, გაითვალისწინებენ ამ პარამეტრს
|
||||
Comment[kk]=Мұнда Сіз әдетті терминал эмуляторын таңдай аласыз. Бүкіл KDE қолданбаларда терминал эмуляторы керек болғанда осы таңдау қолданылады.
|
||||
Comment[km]=សេវានេះអនុញ្ញាតឲ្យអ្នកកំណត់រចនាសម្ព័ន្ធកម្មវិធីត្រាប់តាមស្ថានីយលំនាំដើមរបស់អ្នក ។ កម្មវិធី KDE ទាំងអស់ដែលហៅកម្មវិធីត្រាប់តាមស្ថានីយគួរគោរពតាមការកំណត់នេះ ។
|
||||
Comment[kn]=ಈ ಸೇವೆಯು ನಿನ್ನ ಪೂರ್ವನಿಯೋಜಿತ ಆದೇಶತೆರೆ ಅನುವರ್ತಕವನ್ನು (ಎಮುಲೇಟರ್) ಸಂರಚಿಸಲು ಅನುವುಮಾಡಿಕೊಡುತ್ತದೆ. ಆದೇಶತೆರೆ ಅನುವರ್ತಕವನ್ನು ಕೋರುವ ಎಲ್ಲಾ ಕೆಡಿಇ ಅನ್ವಯಗಳೂ ಈ ಸಂಯೋಜನೆಗಳನ್ನು ಗೌರವಿಸಬೇಕಾಗುತ್ತದೆ.
|
||||
Comment[ko]=이 서비스에서는 기본 터미널 에뮬레이터를 설정할 수 있습니다. 터미널 에뮬레이터에 접근하려고 하는 모든 KDE 프로그램에서는 이 설정을 따라야 합니다.
|
||||
Comment[ku]=Ev xizmet destûrê dide te ku amulatora termînalê ya standard mîheng bikî. Hemû sepanên KDE'yê yên ku tu dikarî hyperlînkê hilbijêrî dê vê mîhengê erê bikin.
|
||||
Comment[lt]=Ši tarnyba leidžia Jums nustatyti Jūsų numatytą pašto klientą. Visos KDE programos, kurios iškviečia terminalo emuliatoriaus programą, turėtų atsižvelgti į šį nustatymą.
|
||||
Comment[lv]=Šis serviss jums ļauj iestatīt noklusēto termināla emulatoru. Visas KDE programmas, kurām vajag termināla emulatoru, izmantos šo parametru.
|
||||
Comment[mai]=ई सेवा अहाँक अहाँक पूर्वनिर्धारित टर्मिनल एमुलेटर केँ बिन्यस्त करबाक स्वीकृति देत अछि. सबहि केडीई अनुप्रयोग जे टर्मिनल एमुलेटर अनुप्रयोग चालू करैत अछि, ओ एहि सेटिंग इस्तेमाल करताह.
|
||||
Comment[mk]=Овој сервис ви овозможува да го конфигурирате вашиот стандарден терминалски емулатор. Сите KDE-апликации кои стартуваат апликација во терминалски емулатор ќе ги почитуваат овие поставувања.
|
||||
Comment[ml]=നിങ്ങളുടെ സഹജമായ ടെര്മിനലിന്റെ അനുകരണം നിങ്ങള്ക്കിവിടെ ക്രമീകരിയ്ക്കാം. ടെര്മിനലിന്റെ അനുകരണം തുടങ്ങാന് ആവശ്യമുള്ള എല്ലാ കെഡിഇ പ്രയോഗങ്ങളും ഇതു് മാനിയ്ക്കണം.
|
||||
Comment[mr]=ही सेवा तुम्हाला मूलभूत टर्मिनल एमुलेटर संयोजीत करण्यास अनुमती देते. सर्व केडीई अनुप्रयोग जे टर्मिनल एमुलेटर अनुप्रयोग चालू करतात, त्यांनी ही संयोजना स्वीकारली पाहिजे.
|
||||
Comment[ms]=Servis ini membolehkan anda konfigur pelagak terminal piawai. Semua aplikasi KDE yang membatalkan aplikasi pelagak terminal hendaklah menerima seting ini.
|
||||
Comment[nb]=Med denne tjenesten kan du velge hvilken terminalemulator du foretrekker. Alle KDE-program som starter en terminalemulator bør ta hensyn til disse innstillingene.
|
||||
Comment[nds]=Hier kannst Du Dien Standard-Terminalemulator angeven. All KDE- Programmen, de en Terminalemulator starten wüllt, schullen dat denn anwennen.
|
||||
Comment[ne]=यो सेवाले तपाईँलाई पूर्वनिर्धारित टर्मिनल इमुलेटर कन्फिगर गर्न अनुमति दिन्छ । टर्मिनल इमुलेटर आव्हान गर्ने सबै केडीई अनुप्रयोगहरूले यो सेटिङ मान्नु पर्छ ।
|
||||
Comment[nl]=Met deze service kunt u uw standaard terminalemulator instellen. Alle KDE-toepassingen die een terminalemulator aanroepen zullen gebruik maken van deze instelling.
|
||||
Comment[nn]=Med denne tenesta kan du setja oppp standardterminalemulatoren. Alle KDE-program som startar terminalemulatorar bør følgja denne innstillinga.
|
||||
Comment[pa]=ਇਥੇ ਤੁਸੀਂ ਆਪਣੇ ਡਿਫਾਲਟ ਟਰਮੀਨਲ ਦੀ ਸੰਰਚਨਾ ਕਰ ਸਕਦੇ ਹੋ। ਸਭ KDE ਕਾਰਜ, ਜਿਨਾਂ ਵਿੱਚ ਵੀ ਟਰਮੀਨਲ ਲੋੜੀਦਾ ਹੈ, ਇਸ ਸੈਟਿੰਗ ਦਾ ਸਨਮਾਨ ਕਰਨਗੇ।
|
||||
Comment[pl]=Tu można wybrać domyślny emulator terminala. Wszystkie programy KDE, które korzystają z terminala, powinny używać tego ustawienia.
|
||||
Comment[pt]=Este serviço permite-lhe configurar o seu emulador de terminal por omissão. Todas as aplicações do KDE que invoquem um emulador de terminal devem respeitar esta configuração.
|
||||
Comment[pt_BR]=Este serviço permite a você configurar o seu emulador de terminal padrão. Todos os aplicativos do KDE que precisarem acessar um emulador de terminal devem seguir esta configuração.
|
||||
Comment[ro]=Acest serviciu vă permite să configurați emulatorul de terminal implicit. Toate aplicațiile de KDE care invocă un emulator de terminal ar trebuie să onoreze această setare.
|
||||
Comment[ru]=Эта служба позволяет вам указать эмулятор терминала по умолчанию. Все приложения KDE, которые вызывают эмулятор терминала, будут использовать указанную программу.
|
||||
Comment[se]=Dáinna bálvalusain sáhtát bidjat standárdterminálemuláhtora. Buot KDE-prográmmat mat álggahit terminálemuláhtoriid berret dán heivehusa geavahit.
|
||||
Comment[si]=මෙම සේවාව ඔබට ඔබේ පෙරනිමි අග්ර අනුකාරකය සැකසීමට ඉඩදේ. අග්ර අනුකාරක භාවිත කරන සියළු KDE යෙදුම් මෙයට යටත්විය යුතුය.
|
||||
Comment[sk]=Táto služba umožňuje nastaviť štandardný emulátor terminálu. Všetky aplikácie KDE, ktoré používajú emulátor terminálu, by mali používať toto nastavenie.
|
||||
Comment[sl]=Ta storitev vam omogoča nastavitev vašega privzetega posnemovalnika terminala. Vsi KDE programi, ki ga uporabljajo, bi morali upoštevati te nastavitve.
|
||||
Comment[sr]=Овај сервис омогућава да подесите подразумевани емулатор терминала. Сви КДЕ програми који позивају терминал треба да поштују ову поставку.
|
||||
Comment[sr@ijekavian]=Овај сервис омогућава да подесите подразумијевани емулатор терминала. Сви КДЕ програми који позивају терминал треба да поштују ову поставку.
|
||||
Comment[sr@ijekavianlatin]=Ovaj servis omogućava da podesite podrazumijevani emulator terminala. Svi KDE programi koji pozivaju terminal treba da poštuju ovu postavku.
|
||||
Comment[sr@latin]=Ovaj servis omogućava da podesite podrazumevani emulator terminala. Svi KDE programi koji pozivaju terminal treba da poštuju ovu postavku.
|
||||
Comment[sv]=Den här tjänsten låter dig anpassa din förvalda terminalemulator. Alla KDE-program som startar ett terminalprogram ska använda den här inställningen
|
||||
Comment[ta]=இந்த சேவை உங்களுடைய முன்னிருந்த கடைசி போட்டியாளர வடிவமைத்துக் கொள்ள அனுமதிக்கிறது. கடைசி போட்டியாளர் பயன்பாடு தேவைப்படுகிற எல்லா கேடிஇ பயன்பாடுகளும் இந்த அமைப்பை நிறுவவேண்டும்.
|
||||
Comment[te]=మీ అప్రమేయ టెర్మినల్ ఎమ్యులేటర్ను ఆకృతీకరించుటకు ఈ సేవ అనుమతిస్తుంది. టెర్మినల్ ఎమ్యులేటర్ అప్లికేషన్ను ప్రేరేపించే ఏ KDE అనువర్తనాలైనా ఈ అమర్పును సమ్మతిస్తాయి.
|
||||
Comment[tg]=Дар ин ҷо шумо метавонед тақлидгари терминали стандартиро танзим кунед. Ҳамаи барномаҳои KDE ҳангоми кушодани барномаи тақлидгари терминал ин танзимотро истифода мебаранд.
|
||||
Comment[th]=บริการนี้จะอนุญาตให้คุณปรับแต่งโปรแกรมจำลองเทอร์มินัลของคุณ โปรแกรมของ KDE ทุกตัวที่เรียกใช้งานโปรแกรมจำลองเทอร์มินัล จะทำตามค่าที่ตั้งนี้
|
||||
Comment[tr]=Bu servis öntanımlı uçbirim uygulamasını seçmenize yardımcı olur.
|
||||
Comment[ug]=بۇ مۇلازىمەت كۆڭۈلدىكى تېرمىنال تەقلىدلەشتۈرگۈچ پروگراممىڭىزنى سەپلىشىڭىزگە يول قويىدۇ. تېرمىنال تەقلىدلەشتۈرگۈچنى زىيارەت قىلماقچى بولغان ھەممە KDE پروگراممىسى بۇ تەڭشەككە بويسۇنىدۇ.
|
||||
Comment[uk]=За допомогою цієї служби ви можете налаштувати ваш типовий емулятор термінала. Всі програми KDE, яким потрібен доступ до емулятора термінала будуть користуватися цими параметрами.
|
||||
Comment[uz]=Bu xizmat andoza terminal emulyatoringizni moslash uchun imkoniyat yaratadi. Terminal emulyatori kerak boʻlgan hamma KDE dasturlari shu moslamadan foydalanishi kerak.
|
||||
Comment[uz@cyrillic]=Бу хизмат андоза терминал эмуляторингизни мослаш учун имконият яратади. Терминал эмулятори керак бўлган ҳамма KDE дастурлари шу мосламадан фойдаланиши керак.
|
||||
Comment[vi]=Dịch vụ này cho phép bạn cấu hình trình mô phỏng thiết bị cuối mặc định. Tất cả các chương trình của KDE cần mở thiết bị đầu cuối đều dựa vào thiết lập này.
|
||||
Comment[wa]=Ci siervice vos permete d' apontyî vosse prémetou terminå. Tos les programes KDE ki dmandront on terminå duvrént shure cisse tchuze.
|
||||
Comment[xh]=Lenkonzo ikuvumela ukuba ukwazi ukuqwalasela isiphelo esingagqibekanga sendlela yokulinganisa.Zonke izicelo ze KDE eziqalisa isicelo sesiphelo sendlela yokulinganisa kumele zisamkele esisicwangciso.
|
||||
Comment[x-test]=xxThis service allows you to configure your default terminal emulator. All KDE applications which invoke a terminal emulator application should honor this setting.xx
|
||||
Comment[zh_CN]=此服务允许您配置您的默认终端仿真器。所有调用终端仿真程序的 KDE 应用程序都遵从此设置。
|
||||
Comment[zh_TW]=這個服務允許您設定您的預設終端機模擬程式。所有呼叫終端機模擬程式的 KDE 應用程式都應該遵從這個設定。
|
||||
configurationType=internal_terminal
|
155
kcontrol/componentchooser/componentservices/kcm_wm.desktop
Normal file
155
kcontrol/componentchooser/componentservices/kcm_wm.desktop
Normal file
|
@ -0,0 +1,155 @@
|
|||
Icon=preferences-system-windows
|
||||
|
||||
# ctxt: standard desktop component
|
||||
Name=Window Manager
|
||||
Name[ar]=مدير النوافذ
|
||||
Name[ast]=Xestor de ventanes
|
||||
Name[bg]=Мениджър на прозорци
|
||||
Name[bn]=উইণ্ডো ম্যানেজার
|
||||
Name[bs]=menadžer prozora
|
||||
Name[ca]=Gestor de finestres
|
||||
Name[ca@valencia]=Gestor de finestres
|
||||
Name[cs]=Správce oken
|
||||
Name[csb]=Mendżer òknów
|
||||
Name[da]=Vindueshåndtering
|
||||
Name[de]=Fenstermanager
|
||||
Name[el]=Διαχειριστής παραθύρων
|
||||
Name[en_GB]=Window Manager
|
||||
Name[eo]=Fenestra agordilo
|
||||
Name[es]=Gestor de ventanas
|
||||
Name[et]=Aknahaldur
|
||||
Name[eu]=Leiho-kudeatzailea
|
||||
Name[fa]=مدیر پنجره
|
||||
Name[fi]=Ikkunointiohjelma
|
||||
Name[fr]=Gestionnaire de fenêtres
|
||||
Name[fy]=Finsterbehearder
|
||||
Name[ga]=Bainisteoir Fuinneog
|
||||
Name[gl]=Xestor de xanelas
|
||||
Name[gu]=વિન્ડો વ્યવસ્થાપક
|
||||
Name[he]=מנהל חלונות
|
||||
Name[hi]=विंडो प्रबंधक
|
||||
Name[hr]=Upravitelj prozorima
|
||||
Name[hu]=Ablakkezelő
|
||||
Name[ia]=Gerente de Fenestra
|
||||
Name[id]=Manajer Jendela
|
||||
Name[is]=Gluggastjóri
|
||||
Name[it]=Gestore delle finestre
|
||||
Name[ja]=ウィンドウマネージャ
|
||||
Name[kk]=Терезе менеджері
|
||||
Name[km]=កម្មវិធីគ្រប់គ្រងបង្អួច
|
||||
Name[kn]=ವಿಂಡೋ ವ್ಯವಸ್ಥಾಪಕ
|
||||
Name[ko]=창 관리자
|
||||
Name[lt]=Langų tvarkyklė
|
||||
Name[lv]=Logu pārvaldnieks
|
||||
Name[mai]=विन्डो मैनेजर
|
||||
Name[mk]=Менаџер на прозорци
|
||||
Name[ml]=ജാലക കാര്യസ്ഥന്
|
||||
Name[mr]=चौकट व्यवस्थापक
|
||||
Name[nb]=Vindusbehandler
|
||||
Name[nds]=Finsterpleger
|
||||
Name[nl]=Windowmanager
|
||||
Name[nn]=Vindaugshandsamar
|
||||
Name[pa]=ਵਿੰਡੋ ਮੈਨੇਜਰ
|
||||
Name[pl]=Zarządzanie oknami
|
||||
Name[pt]=Gestor de Janelas
|
||||
Name[pt_BR]=Gerenciador de janelas
|
||||
Name[ro]=Gestionar de ferestre
|
||||
Name[ru]=Диспетчер окон
|
||||
Name[si]=කවුළු කළමණාකරු
|
||||
Name[sk]=Správca okien
|
||||
Name[sl]=Upravljalnik oken
|
||||
Name[sr]=менаџер прозора
|
||||
Name[sr@ijekavian]=менаџер прозора
|
||||
Name[sr@ijekavianlatin]=menadžer prozora
|
||||
Name[sr@latin]=menadžer prozora
|
||||
Name[sv]=Fönsterhanterare
|
||||
Name[tg]=Мудири тирезаҳо
|
||||
Name[th]=ตัวจัดการหน้าต่าง
|
||||
Name[tr]=Pencere Yöneticisi
|
||||
Name[ug]=كۆزنەك باشقۇرغۇ
|
||||
Name[uk]=Керування вікнами
|
||||
Name[vi]=Trình quản lý cửa sổ
|
||||
Name[wa]=Manaedjeu des finiesses
|
||||
Name[x-test]=xxWindow Managerxx
|
||||
Name[zh_CN]=窗口管理器
|
||||
Name[zh_TW]=視窗管理員
|
||||
Comment=Here you can select the window manager to be run in your KDE session.
|
||||
Comment[ar]=يمكنك هنا اختيار مدير النوافذ ليكون عاملا أثناء جلسة كدي.
|
||||
Comment[ast]=Pues escoyer el xestor de ventanes qu'usará la sesión de KDE.
|
||||
Comment[be@latin]=Tut možna vybrać akońnika, jaki ŭklučajecca pry ŭvachodzie ŭ KDE.
|
||||
Comment[bg]=Тук можете да изберете мениджъра на прозорци, който да се стартира при нова сесия.
|
||||
Comment[bn]=আপনার কে.ডি.ই. সেশন-এ যে উইণ্ডো ম্যানেজার ব্যবহার করা হবে সেটি আপনি এখানে পছন্দ করতে পারেন।
|
||||
Comment[bs]=Izaberite menadžer prozora za upotrebu u KDE sesijama.
|
||||
Comment[ca]=Aquí podeu seleccionar el gestor de finestres que s'executarà en la sessió del KDE.
|
||||
Comment[ca@valencia]=Ací podeu seleccionar el gestor de finestres que s'executarà en la sessió del KDE.
|
||||
Comment[cs]=Zde si můžete zvolit správce oken pro své sezení KDE.
|
||||
Comment[csb]=Tuwò mòżesz wëbrac menadżerã òknów jakô mô bëc zrëszonô w twòji sesëji KDE.
|
||||
Comment[da]=Her kan du vælge, den vindueshåndtering der skal køre i din KDE-session.
|
||||
Comment[de]=Hier können Sie den Fenstermanager wählen, der für Ihre KDE-Sitzung verwendet werden soll.
|
||||
Comment[el]=Εδώ μπορείτε να επιλέξετε τον διαχειριστή παραθύρων που θα εκτελείται κατά την KDE συνεδρία σας.
|
||||
Comment[en_GB]=Here you can select the window manager to be run in your KDE session.
|
||||
Comment[eo]=Ĉi tie vi povas elekti la uzendan fenestran agordilon en via seanco de KDE.
|
||||
Comment[es]=Puede seleccionar el gestor de ventanas que se usará en su sesión de KDE.
|
||||
Comment[et]=Siin saab valida KDE seansis kasutatava aknahalduri.
|
||||
Comment[eu]=KDE saioetan erabiltzea nahi duzun leiho-kudeatzailea hauta dezakezu hemen.
|
||||
Comment[fa]=شما در اینجا میتوانید مدیر پنجره را انتخاب کنید تا در نشست کیدیای شما اجرا شود.
|
||||
Comment[fi]=Tästä voit valita KDE-työpöydän käyttämän ikkunointiohjelman.
|
||||
Comment[fr]=Vous pouvez choisir ici le gestionnaire de fenêtres que vous souhaitez utiliser dans votre session KDE.
|
||||
Comment[fy]=Hjir kinne jo de finstersbehearder dy jo yn jo KDE-sesje brûke wolle selektearje.
|
||||
Comment[ga]=Anseo is féidir leat an bainisteoir fuinneog a rithfear i do sheisiún KDE.
|
||||
Comment[gl]=Aquí pode escoller o xestor de xanelas que desexe executar na sesión de KDE.
|
||||
Comment[gu]=અહીં તમે તમારા KDE સત્ર માટે વિન્ડો વ્યવસ્થાપક પસંદ કરી શકો છો.
|
||||
Comment[he]=כאן ניתן לבחור את מנהל החלונות שיהיה בשימוש בהפעלת KDE שלך.
|
||||
Comment[hi]=यहाँ आप अपने केडीई सत्र में चलाये जाने के लिये विंडो प्रबंधक का चयन कर सकते हैं.
|
||||
Comment[hne]=इहां आप मन विंडो प्रबंधक ल चुन सकथो जे हर आपके केडीई सत्र मं चलही.
|
||||
Comment[hr]=Ovdje možete odabrati upravitelj prozorima koji će se izvoditi u vašoj KDE sjednici
|
||||
Comment[hsb]=Tule móžeće woknowy manager za swoje KDE-posedźenje wubrać.
|
||||
Comment[hu]=Itt lehet kiválasztani, melyik ablakkezelőt használja a KDE.
|
||||
Comment[ia]=Ci tu pote selectionar le gerente de fenestra que on debe usar se in tu session KDE.
|
||||
Comment[id]=Di sini anda dapat memilih manajer jendela yang akan dijalankan di sesi KDE anda.
|
||||
Comment[is]=Hér geturðu valið gluggastjóra til keyrslu í KDE setum.
|
||||
Comment[it]=Qui puoi scegliere il gestore delle finestre da eseguire nella sessione di KDE.
|
||||
Comment[ja]=KDE セッションで使うウィンドウマネージャを選択します。
|
||||
Comment[kk]=Мұнда KDE сеансыңызда жегілетін терезе менеджерін таңдай аласыз.
|
||||
Comment[km]=នៅទីនេះ អ្នកអាចជ្រើសកម្មវិធីគ្រប់គ្រងបង្អួចឲ្យរត់នៅក្នុងសម័យ KDE របស់អ្នក ។
|
||||
Comment[kn]=ಇಲ್ಲಿ ನೀನು ಕೆಡಿಇ ಅಧಿವೇಶನದಲ್ಲಿ ಚಾಲ್ತಿಯಲ್ಲಿರಬೇಕಾದ ಕಿಟಕಿ ವ್ಯವಸ್ಥಾಪಕವನ್ನು ಆರಿಸಿಕೊಳ್ಳಬಹುದು.
|
||||
Comment[ko]=KDE 세션에서 사용할 창 관리자를 선택할 수 있습니다.
|
||||
Comment[ku]=Li vir tu dikarî rêveberê pace yê hilbijêrî ku di nav danişîna KDE de bimeşînî.
|
||||
Comment[lt]=Čia galite pasirinkti langų tvarkyklę, paleidžiamą jūsų KDE sesijoje.
|
||||
Comment[lv]=Šeit varat izvēlēties logu pārvaldnieku jūsu KDE sesijai.
|
||||
Comment[mai]=एतए अहाँ विंडो प्रबंधक केँ चुन सकैत छी जकरा अहाँक KDE सत्र मे चलाएल जएनाइ अछि.
|
||||
Comment[mk]=Тука може да го изберете менаџерот на прозорци што ќе се користи од Вашата KDE-сесија.
|
||||
Comment[ml]=ഇവിടെ നിങ്ങള്ക്ക് കെഡിഇ സെഷനില് പ്രവര്ത്തിക്കേണ്ട ജാലക-പരിപാലന പ്രവര്ത്തനങ്ങള് തിരഞ്ഞെടുക്കാം
|
||||
Comment[mr]=केडीई सत्र अंतर्गत चालविण्याजोगी चौकट व्यवस्थापक येथे निवडले जाऊ शकते.
|
||||
Comment[nb]=Her kan du velge vindusbehandler som skal kjøres i KDE-økta.
|
||||
Comment[nds]=Hier kannst Du den Finsterpleger utsöken, den Du för Dien KDE-Törns bruken wullt.
|
||||
Comment[nl]=Hier kunt u de windowmanager die u in uw KDE-sessie wilt gebruiken selecteren.
|
||||
Comment[nn]=Her kan du velja kva for vindaugshandsamar som skal brukast i KDE-økta di.
|
||||
Comment[or]=ଆପଣଙ୍କର KDE ଅଧିବେଶନରେ ଚଲାଇବା ପାଇଁ ୱିଣ୍ଡୋ ପରିଚାଳକଙ୍କୁ ଏଠାରେ ଚୟନ କରିପାରିବେ।
|
||||
Comment[pa]=ਤੁਹਾਡੇ KDE ਸ਼ੈਸ਼ਨ ਵਿੱਚ ਚਲਾਉਣ ਲਈ ਤੁਸੀਂ ਵਿੰਡੋ ਮੈਨੇਜਰ ਚੁਣ ਸਕਦੇ ਹੋ।
|
||||
Comment[pl]=Tutaj można wybrać program do zarządzania oknami uruchamianymi w sesji KDE.
|
||||
Comment[pt]=Aqui poderá seleccionar o gestor de janelas a executar na sua sessão do KDE.
|
||||
Comment[pt_BR]=Aqui você pode selecionar o gerenciador de janelas a ser executado na sua sessão do KDE.
|
||||
Comment[ro]=Aici puteți alege gestionarul de ferestre ce va rula în sesiunea KDE.
|
||||
Comment[ru]=Здесь можно указать диспетчер окон, который будет использоваться в сеансах KDE.
|
||||
Comment[si]=මෙහිදි KDE වාරයේ ක්රියාත්මක වන කවුළු පාලකය තෝරාගත හැක.
|
||||
Comment[sk]=Tu si môžete vybrať správcu okien, ktorý sa bude spúšťať vo vašom KDE sedení.
|
||||
Comment[sl]=Tu lahko izberete upravljalnika oken, ki bo zagnan v vaši seji KDE.
|
||||
Comment[sr]=Изаберите менаџер прозора за употребу у КДЕ сесијама.
|
||||
Comment[sr@ijekavian]=Изаберите менаџер прозора за употребу у КДЕ сесијама.
|
||||
Comment[sr@ijekavianlatin]=Izaberite menadžer prozora za upotrebu u KDE sesijama.
|
||||
Comment[sr@latin]=Izaberite menadžer prozora za upotrebu u KDE sesijama.
|
||||
Comment[sv]=Här kan du välja fönsterhanterare som ska köras i KDE-sessionen.
|
||||
Comment[ta]=Here you can select the window manager to be run in your KDE session.
|
||||
Comment[te]=విండో నిర్వాహిక మీ KDE సెషన్నందు నడుచునట్లు మీరు యిక్కడ యెంచుకొనగలరు.
|
||||
Comment[tg]=Дар ин ҷо шумо метавонед Мудири тирезаҳоро барои иҷрошавӣ дар сессияҳои KDE интихоб кунед.
|
||||
Comment[th]=คุณสามารถเลือกตัวจัดการหน้าต่างที่จะให้ทำงานในวาระงาน KDE ของคุณ ได้ที่นี่
|
||||
Comment[tr]=Buradan KDE oturumunuzda çalıştırmak istediğiniz pencere yöneticisini seçebilirsiniz.
|
||||
Comment[ug]=بۇ جايدا KDE ئەڭگىمەدە ئىجرا قىلماقچى بولغان كۆزنەك باشقۇرغۇچنى تاللىيالايسىز.
|
||||
Comment[uk]=Тут ви можете обрати засіб керування вікнами, який буде запущено у вашому сеансі KDE.
|
||||
Comment[vi]=Ở đây bạn có thể chọn các trình quản lý cửa sổ để chạy trong phiên làm việc KDE của bạn.
|
||||
Comment[wa]=Vos ploz tchoezi chal li manaedjeu des finiesses a enonder dins vosse session KDE.
|
||||
Comment[x-test]=xxHere you can select the window manager to be run in your KDE session.xx
|
||||
Comment[zh_CN]=您可以在此选择要在 KDE 会话中运行的窗口管理器。
|
||||
Comment[zh_TW]=您可以在此選擇 KDE 工作階段執行的視窗管理員。
|
||||
configurationType=internal_wm
|
184
kcontrol/componentchooser/emailclientconfig_ui.ui
Normal file
184
kcontrol/componentchooser/emailclientconfig_ui.ui
Normal file
|
@ -0,0 +1,184 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>EmailClientConfig_UI</class>
|
||||
<widget class="QWidget" name="EmailClientConfig_UI">
|
||||
<layout class="QVBoxLayout">
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="kmailCB">
|
||||
<property name="whatsThis">
|
||||
<string>Kmail is the standard Mail program for the KDE desktop.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Use KMail as preferred email client</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="otherCB">
|
||||
<property name="whatsThis">
|
||||
<string>Select this option if you want to use any other mail program.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Use a different &email client:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout">
|
||||
<item>
|
||||
<spacer>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="KLineEdit" name="txtEMailClient">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string><ul> <li>%t: Recipient's address</li> <li>%s: Subject</li> <li>%c: Carbon Copy (CC)</li> <li>%b: Blind Carbon Copy (BCC)</li> <li>%B: Template body text</li> <li>%A: Attachment </li> <li>%u: Full mailto: URL </li></ul></string>
|
||||
</property>
|
||||
<property name="whatsThis">
|
||||
<string>Press this button to select your favorite email client. Please note that the file you select has to have the executable attribute set in order to be accepted.<br/> You can also use several placeholders which will be replaced with the actual values when the email client is called:<ul> <li>%t: Recipient's address</li> <li>%s: Subject</li> <li>%c: Carbon Copy (CC)</li> <li>%b: Blind Carbon Copy (BCC)</li> <li>%B: Template body text</li> <li>%A: Attachment </li> </ul></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="btnSelectEmail">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="whatsThis">
|
||||
<string>Click here to browse for the mail program file.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout">
|
||||
<item>
|
||||
<spacer>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="chkRunTerminal">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="whatsThis">
|
||||
<string>Activate this option if you want the selected email client to be executed in a terminal (e.g. <em>Konsole</em>).</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Run in terminal</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Expanding</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>KLineEdit</class>
|
||||
<extends>QLineEdit</extends>
|
||||
<header location="global">KDE/KLineEdit</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>otherCB</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>chkRunTerminal</receiver>
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>20</x>
|
||||
<y>20</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>20</x>
|
||||
<y>20</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>otherCB</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>txtEMailClient</receiver>
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>20</x>
|
||||
<y>20</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>20</x>
|
||||
<y>20</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>otherCB</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>btnSelectEmail</receiver>
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>20</x>
|
||||
<y>20</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>20</x>
|
||||
<y>20</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
81
kcontrol/componentchooser/filemanagerconfig_ui.ui
Normal file
81
kcontrol/componentchooser/filemanagerconfig_ui.ui
Normal file
|
@ -0,0 +1,81 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>FileManagerConfig_UI</class>
|
||||
<widget class="QWidget" name="FileManagerConfig_UI">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Browse directories using the following file manager:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="radioLayout"/>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout">
|
||||
<item>
|
||||
<widget class="QRadioButton" name="radioExec">
|
||||
<property name="text">
|
||||
<string>Other: click Add... in the dialog shown here:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="btnSelectFileManager">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>radioExec</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>btnSelectFileManager</receiver>
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>20</x>
|
||||
<y>20</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>20</x>
|
||||
<y>20</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
65
kcontrol/componentchooser/kcm_componentchooser.cpp
Normal file
65
kcontrol/componentchooser/kcm_componentchooser.cpp
Normal file
|
@ -0,0 +1,65 @@
|
|||
/***************************************************************************
|
||||
kcm_componentchooser.cpp - description
|
||||
-------------------
|
||||
copyright : (C) 2002 by Joseph Wenninger
|
||||
email : jowenn@kde.org
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
* *
|
||||
* This program 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 *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
#include "kcm_componentchooser.h"
|
||||
|
||||
//Added by qt3to4:
|
||||
#include <QVBoxLayout>
|
||||
|
||||
#include <klocale.h>
|
||||
#include <kaboutdata.h>
|
||||
#include <kglobal.h>
|
||||
#include <kcomponentdata.h>
|
||||
#include <KPluginFactory>
|
||||
|
||||
#include "kcm_componentchooser.moc"
|
||||
|
||||
K_PLUGIN_FACTORY(KCMComponentChooserFactory,
|
||||
registerPlugin<KCMComponentChooser>();
|
||||
)
|
||||
K_EXPORT_PLUGIN(KCMComponentChooserFactory("kcmcomponentchooser"))
|
||||
|
||||
KCMComponentChooser::KCMComponentChooser(QWidget *parent, const QVariantList &):
|
||||
KCModule(KCMComponentChooserFactory::componentData(), parent) {
|
||||
|
||||
QVBoxLayout *lay = new QVBoxLayout(this);
|
||||
lay->setMargin(0);
|
||||
|
||||
m_chooser=new ComponentChooser(this);
|
||||
lay->addWidget(m_chooser);
|
||||
connect(m_chooser,SIGNAL(changed(bool)),this,SIGNAL(changed(bool)));
|
||||
setButtons( Default|Apply|Help );
|
||||
|
||||
KAboutData *about =
|
||||
new KAboutData(I18N_NOOP("kcmcomponentchooser"), 0, ki18n("Component Chooser"),
|
||||
0, KLocalizedString(), KAboutData::License_GPL,
|
||||
ki18n("(c), 2002 Joseph Wenninger"));
|
||||
|
||||
about->addAuthor(ki18n("Joseph Wenninger"), KLocalizedString() , "jowenn@kde.org");
|
||||
setAboutData( about );
|
||||
|
||||
}
|
||||
|
||||
void KCMComponentChooser::load(){
|
||||
m_chooser->load();
|
||||
}
|
||||
|
||||
void KCMComponentChooser::save(){
|
||||
m_chooser->save();
|
||||
}
|
||||
|
||||
void KCMComponentChooser::defaults(){
|
||||
m_chooser->restoreDefault();
|
||||
}
|
38
kcontrol/componentchooser/kcm_componentchooser.h
Normal file
38
kcontrol/componentchooser/kcm_componentchooser.h
Normal file
|
@ -0,0 +1,38 @@
|
|||
/***************************************************************************
|
||||
kcm_componentchooser.h - description
|
||||
-------------------
|
||||
copyright : (C) 2002 by Joseph Wenninger
|
||||
email : jowenn@kde.org
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
* *
|
||||
* This program 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 *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef KCM_COMPONENTCHOOSER_H
|
||||
#define KCM_COMPONENTCHOOSER_H
|
||||
|
||||
#include <kcmodule.h>
|
||||
|
||||
#include "componentchooser.h"
|
||||
|
||||
|
||||
class KCMComponentChooser : public KCModule
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
KCMComponentChooser(QWidget *parent, const QVariantList &args);
|
||||
|
||||
void load();
|
||||
void save();
|
||||
void defaults();
|
||||
|
||||
private:
|
||||
ComponentChooser *m_chooser;
|
||||
};
|
||||
|
||||
#endif // KCM_COMPONENTCHOOSER_H
|
171
kcontrol/componentchooser/ktimerdialog.cpp
Normal file
171
kcontrol/componentchooser/ktimerdialog.cpp
Normal file
|
@ -0,0 +1,171 @@
|
|||
/*
|
||||
* This file is part of the KDE Libraries
|
||||
* Copyright (C) 2002 Hamish Rodda <rodda@kde.org>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public License
|
||||
* along with this library; see the file COPYING.LIB. If not, write to
|
||||
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301, USA.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "ktimerdialog.h"
|
||||
|
||||
#include <QLabel>
|
||||
#include <QTimer>
|
||||
|
||||
#include <QProgressBar>
|
||||
|
||||
#include <kwindowsystem.h>
|
||||
#include <kiconloader.h>
|
||||
|
||||
#include <klocale.h>
|
||||
#include <kdebug.h>
|
||||
#include <kvbox.h>
|
||||
|
||||
#include "ktimerdialog.moc"
|
||||
|
||||
KTimerDialog::KTimerDialog( int msec, TimerStyle style, QWidget *parent,
|
||||
const QString &caption,
|
||||
int buttonMask, ButtonCode defaultButton,
|
||||
bool separator,
|
||||
const KGuiItem &user1,
|
||||
const KGuiItem &user2,
|
||||
const KGuiItem &user3 )
|
||||
: KDialog( parent )
|
||||
{
|
||||
setCaption( caption );
|
||||
setButtons( (ButtonCodes)buttonMask );
|
||||
setDefaultButton( defaultButton );
|
||||
setButtonFocus( defaultButton ); // setDefaultButton() doesn't do this
|
||||
showButtonSeparator( separator );
|
||||
setButtonGuiItem( User1, user1 );
|
||||
setButtonGuiItem( User2, user2 );
|
||||
setButtonGuiItem( User3, user3 );
|
||||
|
||||
totalTimer = new QTimer( this );
|
||||
totalTimer->setSingleShot( true );
|
||||
updateTimer = new QTimer( this );
|
||||
updateTimer->setSingleShot( false );
|
||||
msecTotal = msecRemaining = msec;
|
||||
updateInterval = 1000;
|
||||
tStyle = style;
|
||||
KWindowSystem::setIcons( winId(), DesktopIcon("randr"), SmallIcon("randr") );
|
||||
// default to canceling the dialog on timeout
|
||||
if ( buttonMask & Cancel )
|
||||
buttonOnTimeout = Cancel;
|
||||
|
||||
connect( totalTimer, SIGNAL( timeout() ), SLOT( slotInternalTimeout() ) );
|
||||
connect( updateTimer, SIGNAL( timeout() ), SLOT( slotUpdateTime() ) );
|
||||
|
||||
// create the widgets
|
||||
mainWidget = new KVBox( this );
|
||||
timerWidget = new KHBox( mainWidget );
|
||||
timerWidget->setSpacing(KDialog::spacingHint());
|
||||
timerLabel = new QLabel( timerWidget );
|
||||
timerProgress = new QProgressBar( timerWidget );
|
||||
timerProgress->setRange( 0, msecTotal );
|
||||
timerProgress->setTextVisible( false );
|
||||
|
||||
KDialog::setMainWidget( mainWidget );
|
||||
|
||||
slotUpdateTime( false );
|
||||
}
|
||||
|
||||
KTimerDialog::~KTimerDialog()
|
||||
{
|
||||
}
|
||||
|
||||
void KTimerDialog::setVisible( bool visible )
|
||||
{
|
||||
KDialog::setVisible( visible );
|
||||
|
||||
if ( visible ) {
|
||||
totalTimer->start( msecTotal );
|
||||
updateTimer->start( updateInterval );
|
||||
}
|
||||
}
|
||||
|
||||
int KTimerDialog::exec()
|
||||
{
|
||||
totalTimer->start( msecTotal );
|
||||
updateTimer->start( updateInterval );
|
||||
return KDialog::exec();
|
||||
}
|
||||
|
||||
void KTimerDialog::setMainWidget( QWidget *widget )
|
||||
{
|
||||
// yuck, here goes.
|
||||
KVBox *newWidget = new KVBox( this );
|
||||
|
||||
if ( widget->parentWidget() != mainWidget ) {
|
||||
widget->setParent( newWidget);
|
||||
}
|
||||
timerWidget->setParent( newWidget);
|
||||
|
||||
delete mainWidget;
|
||||
mainWidget = newWidget;
|
||||
KDialog::setMainWidget( mainWidget );
|
||||
}
|
||||
|
||||
void KTimerDialog::setRefreshInterval( int msec )
|
||||
{
|
||||
updateInterval = msec;
|
||||
if ( updateTimer->isActive() )
|
||||
updateTimer->start( updateInterval );
|
||||
}
|
||||
|
||||
int KTimerDialog::timeoutButton() const
|
||||
{
|
||||
return buttonOnTimeout;
|
||||
}
|
||||
|
||||
void KTimerDialog::setTimeoutButton( const ButtonCode newButton )
|
||||
{
|
||||
buttonOnTimeout = newButton;
|
||||
}
|
||||
|
||||
int KTimerDialog::timerStyle() const
|
||||
{
|
||||
return tStyle;
|
||||
}
|
||||
|
||||
void KTimerDialog::setTimerStyle( const TimerStyle newStyle )
|
||||
{
|
||||
tStyle = newStyle;
|
||||
}
|
||||
|
||||
void KTimerDialog::slotUpdateTime( bool update )
|
||||
{
|
||||
if ( update )
|
||||
switch ( tStyle ) {
|
||||
case CountDown:
|
||||
msecRemaining -= updateInterval;
|
||||
break;
|
||||
case CountUp:
|
||||
msecRemaining += updateInterval;
|
||||
break;
|
||||
case Manual:
|
||||
break;
|
||||
}
|
||||
|
||||
timerProgress->setValue( msecRemaining );
|
||||
|
||||
timerLabel->setText( i18np("1 second remaining:","%1 seconds remaining:",msecRemaining/1000) );
|
||||
}
|
||||
|
||||
void KTimerDialog::slotInternalTimeout()
|
||||
{
|
||||
emit timerTimeout();
|
||||
slotButtonClicked( buttonOnTimeout );
|
||||
}
|
172
kcontrol/componentchooser/ktimerdialog.h
Normal file
172
kcontrol/componentchooser/ktimerdialog.h
Normal file
|
@ -0,0 +1,172 @@
|
|||
/*
|
||||
* This file is part of the KDE Libraries
|
||||
* Copyright (C) 2002 Hamish Rodda <rodda@kde.org>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public License
|
||||
* along with this library; see the file COPYING.LIB. If not, write to
|
||||
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301, USA.
|
||||
*
|
||||
*/
|
||||
#ifndef _KTIMERDIALOG_H_
|
||||
#define _KTIMERDIALOG_H_
|
||||
|
||||
#include <QLabel>
|
||||
|
||||
#include <kdialog.h>
|
||||
#include <kvbox.h>
|
||||
|
||||
class QTimer;
|
||||
class KHBox;
|
||||
class QProgressBar;
|
||||
class QLabel;
|
||||
|
||||
/**
|
||||
* Provides a dialog that is only available for a specified amount
|
||||
* of time, and reports the time remaining to the user.
|
||||
*
|
||||
* The timer is capable of counting up or down, for any number of milliseconds.
|
||||
*
|
||||
* The button which is activated upon timeout can be specified, as can the
|
||||
* update interval for the dialog box.
|
||||
*
|
||||
* In addition, this class retains all of the functionality of @see KDialog.
|
||||
*
|
||||
* @short A dialog with a time limit and corresponding UI features.
|
||||
* @author Hamish Rodda <rodda@kde.org>
|
||||
*/
|
||||
class KTimerDialog : public KDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
|
||||
/**
|
||||
* @li @p CountDown - The timer counts downwards from the seconds given.
|
||||
* @li @p CountUp - The timer counts up to the number of seconds given.
|
||||
* @li @p Manual - The timer is not invoked; the caller must update the
|
||||
* progress.
|
||||
*/
|
||||
enum TimerStyle
|
||||
{
|
||||
CountDown,
|
||||
CountUp,
|
||||
Manual
|
||||
};
|
||||
|
||||
/**
|
||||
* Constructor for the standard mode where you must specify the main
|
||||
* widget with @ref setMainWidget() . See @see KDialog for further details.
|
||||
*
|
||||
* For the rest of the arguments, See @see KDialog .
|
||||
*/
|
||||
explicit KTimerDialog( int msec, TimerStyle style=CountDown, QWidget *parent=0,
|
||||
const QString &caption=QString(),
|
||||
int buttonMask=Ok|Apply|Cancel, ButtonCode defaultButton=Ok,
|
||||
bool separator=false,
|
||||
const KGuiItem &user1=KGuiItem(),
|
||||
const KGuiItem &user2=KGuiItem(),
|
||||
const KGuiItem &user3=KGuiItem() );
|
||||
|
||||
/**
|
||||
* Destructor.
|
||||
*/
|
||||
~KTimerDialog();
|
||||
|
||||
/**
|
||||
* Execute the dialog modelessly - see @see QDialog .
|
||||
*/
|
||||
virtual void setVisible( bool visible );
|
||||
|
||||
/**
|
||||
* Set the refresh interval for the timer progress. Defaults to one second.
|
||||
*/
|
||||
void setRefreshInterval( int msec );
|
||||
|
||||
/**
|
||||
* Retrieves the @ref ButtonCode which will be activated once the timer
|
||||
* times out. @see setTimeoutButton
|
||||
*/
|
||||
int timeoutButton() const;
|
||||
|
||||
/**
|
||||
* Sets the @ref ButtonCode to determine which button will be activated
|
||||
* once the timer times out. @see timeoutButton
|
||||
*/
|
||||
void setTimeoutButton( ButtonCode newButton );
|
||||
|
||||
/**
|
||||
* Retrieves the current @ref TimerStyle. @see setTimerStyle
|
||||
*/
|
||||
int timerStyle() const;
|
||||
|
||||
/**
|
||||
* Sets the @ref TimerStyle. @see timerStyle
|
||||
*/
|
||||
void setTimerStyle( TimerStyle newStyle );
|
||||
|
||||
/**
|
||||
* Overridden function which is used to set the main widget of the dialog.
|
||||
* @see KDialog::setMainWidget.
|
||||
*/
|
||||
void setMainWidget( QWidget *widget );
|
||||
|
||||
Q_SIGNALS:
|
||||
/**
|
||||
* Signal which is emitted once the timer has timed out.
|
||||
*/
|
||||
void timerTimeout();
|
||||
|
||||
public Q_SLOTS:
|
||||
/**
|
||||
* Execute the dialog modally - see @see QDialog .
|
||||
*/
|
||||
int exec();
|
||||
|
||||
private Q_SLOTS:
|
||||
/**
|
||||
* Updates the dialog with the current progress levels.
|
||||
*/
|
||||
void slotUpdateTime( bool update = true );
|
||||
|
||||
/**
|
||||
* The internal
|
||||
*/
|
||||
void slotInternalTimeout();
|
||||
|
||||
private:
|
||||
/**
|
||||
* Prepares the layout that manages the widgets of the dialog
|
||||
*/
|
||||
void setupLayout();
|
||||
|
||||
QTimer *totalTimer;
|
||||
QTimer *updateTimer;
|
||||
int msecRemaining, updateInterval, msecTotal;
|
||||
|
||||
ButtonCode buttonOnTimeout;
|
||||
TimerStyle tStyle;
|
||||
|
||||
KHBox *timerWidget;
|
||||
QProgressBar *timerProgress;
|
||||
QLabel *timerLabel;
|
||||
KVBox *mainWidget;
|
||||
|
||||
class KTimerDialogPrivate;
|
||||
KTimerDialogPrivate *d;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
126
kcontrol/componentchooser/terminalemulatorconfig_ui.ui
Normal file
126
kcontrol/componentchooser/terminalemulatorconfig_ui.ui
Normal file
|
@ -0,0 +1,126 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>TerminalEmulatorConfig_UI</class>
|
||||
<widget class="QWidget" name="TerminalEmulatorConfig_UI">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="terminalCB">
|
||||
<property name="text">
|
||||
<string>&Use Konsole as terminal application</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="otherCB">
|
||||
<property name="text">
|
||||
<string>Use a different &terminal program:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout">
|
||||
<item>
|
||||
<spacer>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="KLineEdit" name="terminalLE">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="whatsThis">
|
||||
<string>Press this button to select your favorite terminal client. Please note that the file you select has to have the executable attribute set in order to be accepted.<br/> Also note that some programs that utilize Terminal Emulator will not work if you add command line arguments (Example: konsole -ls).</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="btnSelectTerminal">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="whatsThis">
|
||||
<string>Click here to browse for terminal program.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Expanding</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>KLineEdit</class>
|
||||
<extends>QLineEdit</extends>
|
||||
<header location="global">KDE/KLineEdit</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>otherCB</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>terminalLE</receiver>
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>20</x>
|
||||
<y>20</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>20</x>
|
||||
<y>20</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>otherCB</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>btnSelectTerminal</receiver>
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>20</x>
|
||||
<y>20</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>20</x>
|
||||
<y>20</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
5
kcontrol/componentchooser/windowmanagers/CMakeLists.txt
Normal file
5
kcontrol/componentchooser/windowmanagers/CMakeLists.txt
Normal file
|
@ -0,0 +1,5 @@
|
|||
########### install files ###############
|
||||
file(GLOB desktop_file "*.desktop")
|
||||
|
||||
install( FILES ${desktop_file}
|
||||
DESTINATION ${DATA_INSTALL_DIR}/ksmserver/windowmanagers )
|
33
kcontrol/componentchooser/windowmanagers/README
Normal file
33
kcontrol/componentchooser/windowmanagers/README
Normal file
|
@ -0,0 +1,33 @@
|
|||
The list of window managers that the config module offers for using.
|
||||
The format is normal .desktop files:
|
||||
|
||||
Name - required, name to display in the configuration dialog.
|
||||
|
||||
Exec - required, the command to execute to launch the window manager.
|
||||
If launching fails for any reason, it must quit with non-zero exit
|
||||
value and not do anything else (show an error dialog, try to run
|
||||
a fallback, etc.).
|
||||
|
||||
TryExec - optional.
|
||||
|
||||
X-KDE-WindowManagerTestExec - optional, a command that will be run and if
|
||||
the exit code is not 0, the window manager won't be used (can be used
|
||||
e.g. to detect that a window manager which requires compositing support
|
||||
cannot be run on systems without such support).
|
||||
|
||||
X-KDE-WindowManagerId - optional, the name under which the window manager
|
||||
registers with the session manager (if different from the name
|
||||
of the .desktop file)
|
||||
|
||||
X-KDE-WindowManagerConfigure - optional, the command to run to configure
|
||||
the window manager
|
||||
|
||||
X-KDE-WindowManagerRestartArgument - optional, the argument to pass
|
||||
to the window manager to restart it directly in the running KDE
|
||||
session; if not present, KDE restart is required (which is generally
|
||||
a good idea anyway, but this can be useful for e.g. checking)
|
||||
|
||||
X-KDE-WindowManagerConfigureParentArgument - option, if present, this
|
||||
argument and the X window id of the configuration dialog will be passed
|
||||
to the configuration command (e.g. '--parent 13254543'). The configuration
|
||||
tool may specify this window as the parent of its window.
|
|
@ -0,0 +1,81 @@
|
|||
[Desktop Entry]
|
||||
Name=Compiz custom (create wrapper script 'compiz-kde-launcher' to launch it)
|
||||
Name[ar]=كومبز مخصص (أنشأ نص غلاف 'مشغل-كومبز-كدي' لتشغيله)
|
||||
Name[ast]=Compiz personalizáu (crea un script «compiz-kde-launcher» pa executalu)
|
||||
Name[be@latin]=Ułasny „Compiz” (stvary skrypt „compiz-kde-launcher”)
|
||||
Name[bg]=Потребителски compiz (създайте скрипт 'compiz-kde-launcher' за зареждането му)
|
||||
Name[bs]=Posebni Kompiz (napravite omotačku skriptu ‘compiz-kde-launcher’ za pokretanje)
|
||||
Name[ca]=Compiz personalitzat (crea un script embolcall «compiz-kde-launcher» per a engegar-lo)
|
||||
Name[ca@valencia]=Compiz personalitzat (crea un script embolcall «compiz-kde-launcher» per a engegar-lo)
|
||||
Name[cs]=Uživatelsky upravený Compiz (pro jeho spouštění vytvořte skript 'compiz-kde-launcher' )
|
||||
Name[csb]=Dopasownié Compiza (ùsôdzô skript 'compiz-kde-launcher' do zrëszëniô)
|
||||
Name[da]=Brugerdefineret Compiz (opret wrapper-scriptet 'compiz-kde-launcher' for at starte den)
|
||||
Name[de]=Compiz benutzerdefiniert (erstellen Sie ein Aufrufskript namens „compiz-kde-launcher“, um es zu starten)
|
||||
Name[el]=Προσαρμοσμένο Compiz (δημιουργία σεναρίου 'compiz-kde-launcher' για την εκκίνησή του)
|
||||
Name[en_GB]=Compiz custom (create wrapper script 'compiz-kde-launcher' to launch it)
|
||||
Name[eo]=Propra Compiz (kreu skriptaĵon 'compiz-kde-launcher' por ruli ĝin)
|
||||
Name[es]=Compiz personalizado (crea un script «compiz-kde-launcher» para ejecutarlo)
|
||||
Name[et]=Kohandatud Compiz (käivitamiseks loo kohandav skript 'compiz-kde-launcher')
|
||||
Name[eu]=Compiz pertsonalizatua (sortu 'compiz-kde-launcher' scripta, hura abiarazteko)
|
||||
Name[fa]=کامپیز سفارشی (create wrapper script 'compiz-kde-launcher' to launch it)
|
||||
Name[fi]=Räätälöity Compiz (luo käärinskripti 'compiz-kde-launcher' sen käynnistämiseksi)
|
||||
Name[fr]=Compiz personnalisé (utilisez un script d'enrobage « compiz-kde-launcher » pour le lancer)
|
||||
Name[fy]=Compiz oanpast (wrapper script 'compiz-kde-launcher' oanmeitsje om it út te fieren)
|
||||
Name[ga]=Compiz saincheaptha (cruthaigh raparscript 'compiz-kde-launcher' chun é a thosú)
|
||||
Name[gl]=Compiz personalizado (crea un script «compiz-kde-launcher» para executalo)
|
||||
Name[gu]=પોતાનું કોમ્પિઝ (તેને શરૂ કરવા માટે 'compiz-kde-launcher' સ્ક્રિપ્ટ બનાવો)
|
||||
Name[he]=Compiz מותאם אישית (יש ליצור תסריט מעטפת בשם 'compiz-kde-launcher' כדי להפעיל אותו)
|
||||
Name[hi]=मनमाफ़िक कॉम्पिज़ (रैपर स्क्रिप्ट 'compiz-kde-launcher' चलाने के लिए बनाएं)
|
||||
Name[hne]=काम्पिज मनपसंद ( लपेट स्क्रिपट 'compiz-kde-launcher' चलाय बर बनाव)
|
||||
Name[hr]=Compiz prilagođeno (napravite skriptu-ovojnicu 'compiz-kde-launcher' za pokretanje=
|
||||
Name[hsb]=Compizowe wašnje (napišće wobalkowy skript 'compiz-kde-launcher' za wuwjedźenje)
|
||||
Name[hu]=Egyedi Compiz (indításához egy „compiz-kde-launcher” nevű szkript szükséges)
|
||||
Name[ia]=Adaptation de Compiz (Il crea un script de wrapper 'compiz-kde-launcher' pro lancear lo)
|
||||
Name[id]=Compiz suai (buat pembungkus skrip 'compiz-kde-launcher' untuk menjankannya)
|
||||
Name[is]=Compiz sérsniðið (búa til wrapper skrituna 'compiz-kde-launcher' til að ræsa það)
|
||||
Name[it]=Compiz personalizzato (per avviarlo crea uno script «compiz-kde-launcher» che prepara l'ambiente)
|
||||
Name[ja]=Compiz カスタム (起動するためのラッパースクリプト compiz-kde-launcher を作成します)
|
||||
Name[kk]=Өзгеше Compiz (оны жегу үшін 'compiz-kde-launcher' деген скриптті құрыңыз)
|
||||
Name[km]=Compiz ផ្ទាល់ខ្លួន (បង្កើតស្គ្រីបរុំ 'compiz-kde-launcher' ដើម្បីចាប់ផ្ដើមវា)
|
||||
Name[kn]=ಗ್ರಾಹಕೀಯ ಕಾಂಪಿಜ಼್ (ಇದನ್ನು ಪ್ರಕ್ಷೇಪಿಸಲು (ಲಾಂಚ್) ಪ್ರಾವರಣ ವಿಧಿಗುಚ್ಛ (ರಾಪರ್ ಸ್ಕ್ರಿಪ್ಟ್) 'compiz-kde-launcher' ಅನ್ನು ರಚಿಸು )
|
||||
Name[ko]=사용자 정의 컴피즈 ('compiz-kde-launcher' 래퍼 스크립트로 실행함)
|
||||
Name[ku]=Compiz a bijare (scrîpta 'compiz-kde-launcher' çê bike ku vê bidî destpê kirin)
|
||||
Name[lt]=Compiz pasirinktas (sukurti scenarijų-dėklą 'compiz-kde-launcher' norėdami jį paleisti)
|
||||
Name[lv]=Pielāgots Compiz (lai to palaistu, izveidojiet palaišanas skriptu 'compiz-kde-launcher')
|
||||
Name[mai]=मनमाफिक कॉम्पिज (रैपर स्क्रिप्ट 'compiz-kde-launcher' चलाबैक लेल बनाउ)
|
||||
Name[mk]=Сопствен Compiz (креирајте скрипта „compiz-kde-launcher“ за да ја стартувате)
|
||||
Name[ml]=ക്രമീകൃതകോമ്പിസ് (ഇതു പ്രവര്ത്തിപ്പിയ്ക്കാന് 'compiz-kde-launcher' റാപ്പര് സ്ക്രിപ്റ്റ് ഉത്പാദിപ്പിയ്ക്കുക)
|
||||
Name[mr]=ऐच्छिक कॉम्पीझ (दाखल करण्याकरिता 'compiz-kde-launcher' स्क्रिप्ट निर्माण करा)
|
||||
Name[nb]=Compiz selvvalgt (lag omsluttende skript «compiz-kde-launcher» for å starte det)
|
||||
Name[nds]=Egen Compiz (För't Opropen deit en Skript "compiz-kde-launcher" noot)
|
||||
Name[nl]=Compiz custom (maak het script 'compiz-kde-launcher' aan om het te starten)
|
||||
Name[nn]=Compiz sjølvvald (lag skriptet «compiz-kde-launcher» for å starta det)
|
||||
Name[pl]=Compiz custom (utwórz skrypt "compiz-kde-launcher", aby go uruchomić)
|
||||
Name[pt]=Personalizado do Compiz (criar um programa de interface 'compiz-kde-launcher' para o invocar)
|
||||
Name[pt_BR]=Compiz personalizado (criar um script 'compiz-kde-launcher' para iniciá-lo)
|
||||
Name[ro]=Compiz particularizat (creare script „compiz-kde-launcher” pentru a-l lansa)
|
||||
Name[ru]=Адаптированный Compiz (для запуска используйте скрипт «compiz-kde-launcher»)
|
||||
Name[si]=Compiz රුචි (ක්රියාත්මක කිරීමට 'compiz-kde-launcher' හී එතුම් ස්ක්රිප්ටයක් නිර්මාණය කරන්න)
|
||||
Name[sk]=Compiz custom (pre jeho spustenie vytvorte wrapper skript 'compiz-kde-launcher')
|
||||
Name[sl]=Compiz po meri (za zagon ustvarite ovijalni skript »compiz-kde-launcher«)
|
||||
Name[sr]=Посебни Компиз (направите омотачку скрипту ‘compiz-kde-launcher’ за покретање)
|
||||
Name[sr@ijekavian]=Посебни Компиз (направите омотачку скрипту ‘compiz-kde-launcher’ за покретање)
|
||||
Name[sr@ijekavianlatin]=Posebni Compiz (napravite omotačku skriptu ‘compiz-kde-launcher’ za pokretanje)
|
||||
Name[sr@latin]=Posebni Compiz (napravite omotačku skriptu ‘compiz-kde-launcher’ za pokretanje)
|
||||
Name[sv]=Egen Compiz (skapa omgivande skript 'compiz-kde-launcher' för att starta den)
|
||||
Name[ta]=Compiz custom (create wrapper script 'compiz-kde-launcher' to launch it)
|
||||
Name[te]=Compiz custom (దానిని దించుటకు వ్రాపర్ స్క్రిప్ట్ 'compiz-kde-launcher' ను సృష్టించుము)
|
||||
Name[tg]=Танзимоти Compiz (скрипти печондани 'compiz-kde-launcher'-ро барои оғозкунӣ эҷод кунед)
|
||||
Name[th]=Compiz แบบปรับแต่งเอง (สร้างสคริปต์ครอบ 'compiz-kde-launcher' เพื่อเรียกใช้มัน)
|
||||
Name[tr]=Compiz özel (çalıştırmak için sarıcı betik 'compiz-kde-launcher' oluştur)
|
||||
Name[ug]=Compiz ئۆزلەشتۈر ('compiz-kde-launcher' نى ئېچىش ئۈچۈن بوغچىلانغان قوليازما قۇرىدۇ)
|
||||
Name[uk]=Нетиповий Compiz (створити скрипт-обгортку «compiz-kde-launcher» для його запуску)
|
||||
Name[vi]=Compiz tùy biến (tạo một lệnh gói 'compiz-kde-launcher' để chạy nó)
|
||||
Name[wa]=Compiz a vosse môde (ahivez on scripe wrapper « compiz-kde-launcher » po l' enonder)
|
||||
Name[x-test]=xxCompiz custom (create wrapper script 'compiz-kde-launcher' to launch it)xx
|
||||
Name[zh_CN]=Compiz 定制(创建包装脚本“compiz-kde-launcher”以启动它)
|
||||
Name[zh_TW]=Compiz 自訂(建立外包文稿 compiz-kde-launcher 來啟動)
|
||||
Exec=compiz-kde-launcher
|
||||
TryExec=compiz
|
||||
X-KDE-WindowManagerId=compiz
|
||||
X-KDE-WindowManagerRestartArgument=--replace
|
88
kcontrol/componentchooser/windowmanagers/compiz.desktop
Normal file
88
kcontrol/componentchooser/windowmanagers/compiz.desktop
Normal file
|
@ -0,0 +1,88 @@
|
|||
[Desktop Entry]
|
||||
Name=Compiz
|
||||
Name[ar]=كومبز
|
||||
Name[as]=Compiz
|
||||
Name[ast]=Compiz
|
||||
Name[be@latin]=Compiz
|
||||
Name[bg]=Compiz
|
||||
Name[bn]=কম্পিজ
|
||||
Name[bn_IN]=Compiz
|
||||
Name[bs]=Compiz
|
||||
Name[ca]=Compiz
|
||||
Name[ca@valencia]=Compiz
|
||||
Name[cs]=Compiz
|
||||
Name[csb]=Compiz
|
||||
Name[da]=Compiz
|
||||
Name[de]=Compiz
|
||||
Name[el]=Compiz
|
||||
Name[en_GB]=Compiz
|
||||
Name[eo]=Compiz
|
||||
Name[es]=Compiz
|
||||
Name[et]=Compiz
|
||||
Name[eu]=Compiz
|
||||
Name[fa]=کامپیز
|
||||
Name[fi]=Compiz
|
||||
Name[fr]=Compiz
|
||||
Name[fy]=Compiz
|
||||
Name[ga]=Compiz
|
||||
Name[gl]=Compiz
|
||||
Name[gu]=કોમ્પિઝ
|
||||
Name[he]=Compiz
|
||||
Name[hi]=कॉम्पिज़
|
||||
Name[hne]=काम्पिज
|
||||
Name[hr]=Compiz
|
||||
Name[hsb]=Compiz
|
||||
Name[hu]=Compiz
|
||||
Name[ia]=Compiz
|
||||
Name[id]=Compiz
|
||||
Name[is]=Compiz
|
||||
Name[it]=Compiz
|
||||
Name[ja]=Compiz
|
||||
Name[ka]=Compiz
|
||||
Name[kk]=Compiz
|
||||
Name[km]=Compiz
|
||||
Name[kn]=ಕಾಂಪಿಜ್
|
||||
Name[ko]=컴피즈
|
||||
Name[ku]=Compiz
|
||||
Name[lt]=Compiz
|
||||
Name[lv]=Compiz
|
||||
Name[mai]=Compiz
|
||||
Name[mk]=Compiz
|
||||
Name[ml]=കോമ്പിസ്
|
||||
Name[mr]=कॉम्पीझ
|
||||
Name[nb]=Compiz
|
||||
Name[nds]=Compiz
|
||||
Name[nl]=Compiz
|
||||
Name[nn]=Compiz
|
||||
Name[oc]=Compiz
|
||||
Name[or]=Compiz
|
||||
Name[pa]=ਕੰਪਿਜ਼
|
||||
Name[pl]=Compiz
|
||||
Name[pt]=Compiz
|
||||
Name[pt_BR]=Compiz
|
||||
Name[ro]=Compiz
|
||||
Name[ru]=Compiz
|
||||
Name[si]=Compiz
|
||||
Name[sk]=Compiz
|
||||
Name[sl]=Compiz
|
||||
Name[sr]=Компиз
|
||||
Name[sr@ijekavian]=Компиз
|
||||
Name[sr@ijekavianlatin]=Compiz
|
||||
Name[sr@latin]=Compiz
|
||||
Name[sv]=Compiz
|
||||
Name[ta]=Compiz
|
||||
Name[te]=Compiz
|
||||
Name[tg]=Compiz
|
||||
Name[th]=Compiz
|
||||
Name[tr]=Compiz
|
||||
Name[ug]=Compiz
|
||||
Name[uk]=Compiz
|
||||
Name[vi]=Compiz
|
||||
Name[wa]=Compiz
|
||||
Name[x-test]=xxCompizxx
|
||||
Name[zh_CN]=Compiz
|
||||
Name[zh_TW]=Compiz
|
||||
Exec=compiz ccp
|
||||
TryExec=compiz
|
||||
X-KDE-WindowManagerConfigure=simple-ccsm
|
||||
X-KDE-WindowManagerRestartArgument=--replace
|
89
kcontrol/componentchooser/windowmanagers/metacity.desktop
Normal file
89
kcontrol/componentchooser/windowmanagers/metacity.desktop
Normal file
|
@ -0,0 +1,89 @@
|
|||
[Desktop Entry]
|
||||
Name=Metacity (GNOME)
|
||||
Name[af]=Metacity (GNOME)
|
||||
Name[ar]=مِتسِتي (جنوم)
|
||||
Name[as]=Metacity (GNOME)
|
||||
Name[ast]=Metacity (GNOME)
|
||||
Name[be@latin]=Metacity (GNOME)
|
||||
Name[bg]=Metacity (GNOME)
|
||||
Name[bn]=মেটাসিটি (গ্নোম)
|
||||
Name[bn_IN]=Metacity (GNOME)
|
||||
Name[bs]=Metacity (GNOME)
|
||||
Name[ca]=Metacity (GNOME)
|
||||
Name[ca@valencia]=Metacity (GNOME)
|
||||
Name[cs]=Metacity (Gnome)
|
||||
Name[csb]=Metacity (GNOME)
|
||||
Name[da]=Metacity (GNOME)
|
||||
Name[de]=Metacity (GNOME)
|
||||
Name[el]=Metacity (GNOME)
|
||||
Name[en_GB]=Metacity (GNOME)
|
||||
Name[eo]=Metacity (GNOME)
|
||||
Name[es]=Metacity (GNOME)
|
||||
Name[et]=Metacity (GNOME)
|
||||
Name[eu]=Metacity (GNOME)
|
||||
Name[fa]=متاسیتی (گنوم)
|
||||
Name[fi]=Metacity (Gnome)
|
||||
Name[fr]=Metacity (GNOME)
|
||||
Name[fy]=Metacity (GNOME)
|
||||
Name[ga]=Metacity (GNOME)
|
||||
Name[gl]=Metacity (GNOME)
|
||||
Name[gu]=મેટાસિટી (GNOME)
|
||||
Name[he]=Metacity (GNOME)
|
||||
Name[hi]=मेटासिटी (ग्नोम)
|
||||
Name[hne]=मेटासिटी (ग्नोम)
|
||||
Name[hr]=Metacity (GNOME)
|
||||
Name[hsb]=Metacity (GNOME)
|
||||
Name[hu]=Metacity (GNOME)
|
||||
Name[ia]=Metacity(GNOME)
|
||||
Name[id]=Metacity (GNOME)
|
||||
Name[is]=Metacity (GNOME)
|
||||
Name[it]=Metacity (GNOME)
|
||||
Name[ja]=Metacity (GNOME)
|
||||
Name[kk]=Metacity (GNOME)
|
||||
Name[km]=Metacity (GNOME)
|
||||
Name[kn]=ಮೆಟಾಸಿಟಿ (ಗ್ನೋಮ್)
|
||||
Name[ko]=Metacity (그놈)
|
||||
Name[ku]=Metacity (GNOME)
|
||||
Name[lt]=Metacity (GNOME)
|
||||
Name[lv]=Metacity (GNOME)
|
||||
Name[mai]=Metacity (GNOME)
|
||||
Name[mk]=Metacity (GNOME)
|
||||
Name[ml]=മെറ്റാസിറ്റി (ഗ്നോം)
|
||||
Name[mr]=मेटासिटी (GNOME)
|
||||
Name[nb]=Metacity (GNOME)
|
||||
Name[nds]=Metacity (GNOME)
|
||||
Name[nl]=Metacity (GNOME)
|
||||
Name[nn]=Metacity (GNOME)
|
||||
Name[or]=Metacity (GNOME)
|
||||
Name[pa]=ਮੈਟਾਸਿਟੀ (ਗਨੋਮ)
|
||||
Name[pl]=Metacity (GNOME)
|
||||
Name[pt]=Metacity (GNOME)
|
||||
Name[pt_BR]=Metacity (GNOME)
|
||||
Name[ro]=Metacity (GNOME)
|
||||
Name[ru]=Metacity (GNOME)
|
||||
Name[se]=Metacity (GNOME)
|
||||
Name[si]=Metacity (GNOME)
|
||||
Name[sk]=Metacity (GNOME)
|
||||
Name[sl]=Metacity (GNOME)
|
||||
Name[sr]=Метасити (Гном)
|
||||
Name[sr@ijekavian]=Метасити (Гном)
|
||||
Name[sr@ijekavianlatin]=Metacity (Gnome)
|
||||
Name[sr@latin]=Metacity (Gnome)
|
||||
Name[sv]=Metacity (GNOME)
|
||||
Name[ta]=மெடாசிட்டி (குநோம்)
|
||||
Name[te]=మెటాసిటి (GNOME)
|
||||
Name[tg]=Metacity (GNOME)
|
||||
Name[th]=Metacity (GNOME)
|
||||
Name[tr]=Metacity (GNOME)
|
||||
Name[ug]=Metacity (GNOME)
|
||||
Name[uk]=Metacity (GNOME)
|
||||
Name[uz]=Metacity (GNOME)
|
||||
Name[uz@cyrillic]=Metacity (GNOME)
|
||||
Name[vi]=Metacity (GNOME)
|
||||
Name[wa]=Metacity (GNOME)
|
||||
Name[x-test]=xxMetacity (GNOME)xx
|
||||
Name[zh_CN]=Metacity(GNOME)
|
||||
Name[zh_TW]=Metacity(GNOME)
|
||||
Exec=metacity
|
||||
TryExec=metacity
|
||||
X-KDE-WindowManagerRestartArgument=--replace
|
95
kcontrol/componentchooser/windowmanagers/openbox.desktop
Normal file
95
kcontrol/componentchooser/windowmanagers/openbox.desktop
Normal file
|
@ -0,0 +1,95 @@
|
|||
[Desktop Entry]
|
||||
Name=Openbox
|
||||
Name[af]=Openbox
|
||||
Name[ar]=Openbox
|
||||
Name[as]=Openbox
|
||||
Name[ast]=Openbox
|
||||
Name[be]=Openbox
|
||||
Name[be@latin]=Openbox
|
||||
Name[bg]=Openbox
|
||||
Name[bn]=ওপেনবক্স
|
||||
Name[bn_IN]=Openbox
|
||||
Name[br]=Openbox
|
||||
Name[bs]=Openbox
|
||||
Name[ca]=Openbox
|
||||
Name[ca@valencia]=Openbox
|
||||
Name[cs]=Openbox
|
||||
Name[csb]=Openbox
|
||||
Name[cy]=Blwchagored (Openbox)
|
||||
Name[da]=Openbox
|
||||
Name[de]=Openbox
|
||||
Name[el]=Openbox
|
||||
Name[en_GB]=Openbox
|
||||
Name[eo]=Openbox
|
||||
Name[es]=Openbox
|
||||
Name[et]=Openbox
|
||||
Name[eu]=Openbox
|
||||
Name[fa]=اپنباکس
|
||||
Name[fi]=Openbox
|
||||
Name[fr]=Openbox
|
||||
Name[fy]=Openbox
|
||||
Name[ga]=Openbox
|
||||
Name[gl]=Openbox
|
||||
Name[gu]=ઓપનબોક્સ
|
||||
Name[he]=Openbox
|
||||
Name[hi]=ओपनबाक्स
|
||||
Name[hne]=ओपनबाक्स
|
||||
Name[hr]=Openbox
|
||||
Name[hsb]=Openbox
|
||||
Name[hu]=Openbox
|
||||
Name[ia]=Openbox
|
||||
Name[id]=Openbox
|
||||
Name[is]=Openbox
|
||||
Name[it]=Openbox
|
||||
Name[ja]=Openbox
|
||||
Name[ka]=Openbox
|
||||
Name[kk]=Openbox
|
||||
Name[km]=បើកប្រអប់
|
||||
Name[kn]=ಓಪನ್ ಬಾಕ್ಸ್
|
||||
Name[ko]=Openbox
|
||||
Name[ku]=Openbox
|
||||
Name[lt]=Openbox
|
||||
Name[lv]=Openbox
|
||||
Name[mai]=ओपनबाक्स
|
||||
Name[mk]=Openbox
|
||||
Name[ml]=ഓപ്പണ്ബോക്സ്
|
||||
Name[mr]=ओपनबाक्स
|
||||
Name[ms]=Openbox
|
||||
Name[nb]=Openbox
|
||||
Name[nds]=Openbox
|
||||
Name[ne]=खुला बाकस
|
||||
Name[nl]=Openbox
|
||||
Name[nn]=Openbox
|
||||
Name[or]=Openbox
|
||||
Name[pa]=ਓਪਨ-ਬਾਕਸੇ
|
||||
Name[pl]=Openbox
|
||||
Name[pt]=Openbox
|
||||
Name[pt_BR]=Openbox
|
||||
Name[ro]=Openbox
|
||||
Name[ru]=Openbox
|
||||
Name[se]=Openbox
|
||||
Name[si]=Openbox
|
||||
Name[sk]=Openbox
|
||||
Name[sl]=Openbox
|
||||
Name[sr]=Опенбокс
|
||||
Name[sr@ijekavian]=Опенбокс
|
||||
Name[sr@ijekavianlatin]=Openbox
|
||||
Name[sr@latin]=Openbox
|
||||
Name[sv]=Openbox
|
||||
Name[ta]=திறப்பு பெட்டி
|
||||
Name[te]=ఒపెన్ బాక్స్
|
||||
Name[tg]=Openbox
|
||||
Name[th]=Openbox
|
||||
Name[tr]=Openbox
|
||||
Name[ug]=Openbox
|
||||
Name[uk]=Openbox
|
||||
Name[uz]=Openbox
|
||||
Name[uz@cyrillic]=Openbox
|
||||
Name[vi]=Openbox
|
||||
Name[wa]=Openbox
|
||||
Name[x-test]=xxOpenboxxx
|
||||
Name[zh_CN]=Openbox
|
||||
Name[zh_TW]=Openbox
|
||||
Exec=openbox
|
||||
TryExec=openbox
|
||||
X-KDE-WindowManagerRestartArgument=--replace
|
142
kcontrol/componentchooser/wmconfig_ui.ui
Normal file
142
kcontrol/componentchooser/wmconfig_ui.ui
Normal file
|
@ -0,0 +1,142 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>WmConfig_UI</class>
|
||||
<widget class="QWidget" name="WmConfig_UI">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="kwinRB">
|
||||
<property name="text">
|
||||
<string>&Use the default KDE window manager (KWin)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="differentRB">
|
||||
<property name="text">
|
||||
<string>Use a different &window manager:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout">
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="KComboBox" name="wmCombo">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="KPushButton" name="configureButton">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Configure</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Note: Most window managers have their own configuration and do not follow KDE settings.</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>KComboBox</class>
|
||||
<extends>QComboBox</extends>
|
||||
<header location="global">KDE/KComboBox</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>KPushButton</class>
|
||||
<extends>QPushButton</extends>
|
||||
<header location="global">KDE/KPushButton</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>differentRB</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>wmCombo</receiver>
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>20</x>
|
||||
<y>42</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>47</x>
|
||||
<y>72</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
21
kcontrol/dnssd/CMakeLists.txt
Normal file
21
kcontrol/dnssd/CMakeLists.txt
Normal file
|
@ -0,0 +1,21 @@
|
|||
|
||||
|
||||
|
||||
########### next target ###############
|
||||
|
||||
set(kcm_kdnssd_PART_SRCS kcmdnssd.cpp kcmdnssd.h )
|
||||
|
||||
|
||||
kde4_add_ui_files(kcm_kdnssd_PART_SRCS configdialog.ui )
|
||||
|
||||
kde4_add_plugin(kcm_kdnssd ${kcm_kdnssd_PART_SRCS})
|
||||
|
||||
|
||||
target_link_libraries(kcm_kdnssd ${KDE4_KDNSSD_LIBS} ${KDE4_KDEUI_LIBS} )
|
||||
|
||||
install(TARGETS kcm_kdnssd DESTINATION ${PLUGIN_INSTALL_DIR} )
|
||||
|
||||
|
||||
########### install files ###############
|
||||
|
||||
install( FILES kcm_kdnssd.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
|
3
kcontrol/dnssd/Messages.sh
Normal file
3
kcontrol/dnssd/Messages.sh
Normal file
|
@ -0,0 +1,3 @@
|
|||
#! /usr/bin/env bash
|
||||
$EXTRACTRC *.ui >> rc.cpp
|
||||
$XGETTEXT *.cpp *.h -o $podir/kcmkdnssd.pot
|
63
kcontrol/dnssd/configdialog.ui
Normal file
63
kcontrol/dnssd/configdialog.ui
Normal file
|
@ -0,0 +1,63 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>ConfigDialog</class>
|
||||
<widget class="QWidget" name="ConfigDialog">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>571</width>
|
||||
<height>486</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Additional Domains</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="KEditListWidget" name="kcfg_DomainList">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="whatsThis">
|
||||
<string>List of Internet domains that will be browsed for services in addition to default domain (typically local network). </string>
|
||||
</property>
|
||||
<property name="title" stdset="0">
|
||||
<string>Additional Domains</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>KEditListWidget</class>
|
||||
<extends>QWidget</extends>
|
||||
<header>keditlistwidget.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
193
kcontrol/dnssd/kcm_kdnssd.desktop
Normal file
193
kcontrol/dnssd/kcm_kdnssd.desktop
Normal file
|
@ -0,0 +1,193 @@
|
|||
[Desktop Entry]
|
||||
Exec=kcmshell4 kcm_kdnssd
|
||||
Icon=preferences-system-network-discovery
|
||||
Name=Service Discovery
|
||||
Name[af]=Dienste ontdekker
|
||||
Name[ar]=استكشاف الخدمة
|
||||
Name[ast]=Guetador de servicios
|
||||
Name[be]=Пошук сервісаў
|
||||
Name[be@latin]=Pošuk słužbaŭ
|
||||
Name[bg]=Откриване на услуги
|
||||
Name[bn]=সার্ভিস উদ্ঘাটন
|
||||
Name[bn_IN]=পরিসেবার ডিরেক্টরি
|
||||
Name[bs]=Otkrivanje servisa
|
||||
Name[ca]=Descobriment de serveis
|
||||
Name[ca@valencia]=Descobriment de serveis
|
||||
Name[cs]=Hledání služeb
|
||||
Name[csb]=Wëkrëwanié ùsłëżnotów
|
||||
Name[da]=Opdagelse af tjenester
|
||||
Name[de]=Diensteerkennung
|
||||
Name[el]=Εύρεση υπηρεσιών
|
||||
Name[en_GB]=Service Discovery
|
||||
Name[eo]=Malkovrado de servo
|
||||
Name[es]=Buscador de servicios
|
||||
Name[et]=Teenuste tuvastamine
|
||||
Name[eu]=Zerbitzu-aurkikuntza
|
||||
Name[fa]=کشف خدمت
|
||||
Name[fi]=Palvelun havaitseminen
|
||||
Name[fr]=Découverte de services
|
||||
Name[fy]=Tsjinst warskôging
|
||||
Name[ga]=Fionnachtain Seirbhísí
|
||||
Name[gl]=Descubrimento de servizos
|
||||
Name[gu]=સેવા શોધ
|
||||
Name[he]=גילוי שירותים
|
||||
Name[hi]=सेवा डिस्कवरी
|
||||
Name[hne]=सेवा डिस्कवरी
|
||||
Name[hr]=Usluga Discovery
|
||||
Name[hsb]=Pytanje słužbow
|
||||
Name[hu]=Zeroconf-beállítások
|
||||
Name[ia]=Discoperta de Servicio
|
||||
Name[id]=Penemuan Layanan
|
||||
Name[is]=Uppgötvun þjónustu
|
||||
Name[it]=Rilevamento dei servizi
|
||||
Name[ja]=サービスディスカバリ
|
||||
Name[ka]=სერვისის აღმოჩენა
|
||||
Name[kk]=Қызметтерді байқау
|
||||
Name[km]=ការរកឃើញសេវា
|
||||
Name[kn]=ಸೇವಾ ಆವಿಷ್ಕಾರ (ಸರ್ವೀಸ್ ಡಿಸ್ಕವರಿ)
|
||||
Name[ko]=서비스 발견
|
||||
Name[ku]=Naskirina Servîsê
|
||||
Name[lt]=Tarnybų radimas
|
||||
Name[lv]=Servisu atklāšana
|
||||
Name[mai]=सेवा डिस्कवरी
|
||||
Name[mk]=Откривање сервиси
|
||||
Name[ml]=സേവനം കണ്ടെത്തല്
|
||||
Name[mr]=सेवा आढळली
|
||||
Name[ms]=Penemuan Servis
|
||||
Name[nb]=Oppdaging av tjenester
|
||||
Name[nds]=Deensten finnen
|
||||
Name[ne]=सेवा खोजी
|
||||
Name[nl]=Dienstwaarneming
|
||||
Name[nn]=Oppdaging av tenester
|
||||
Name[or]=ସର୍ଭିସ ଆବିଷ୍କାର
|
||||
Name[pa]=ਸਰਵਿਸ ਖੋਜ
|
||||
Name[pl]=Wykrywanie usług
|
||||
Name[pt]=Descoberta de Serviços
|
||||
Name[pt_BR]=Descoberta de serviços
|
||||
Name[ro]=Descoperire servicii
|
||||
Name[ru]=Обнаружение служб
|
||||
Name[se]=Bálvalusáican
|
||||
Name[si]=සේවා අනාවරණය
|
||||
Name[sk]=Zisťovanie služieb
|
||||
Name[sl]=Odkrivanje storitev
|
||||
Name[sr]=Откривање сервиса
|
||||
Name[sr@ijekavian]=Откривање сервиса
|
||||
Name[sr@ijekavianlatin]=Otkrivanje servisa
|
||||
Name[sr@latin]=Otkrivanje servisa
|
||||
Name[sv]=Tjänstupptäckt
|
||||
Name[ta]=சர்வீஸ் டிஸ்கவரி
|
||||
Name[te]=
|
||||
Name[tg]=Дарёфтани хизматҳо
|
||||
Name[th]=การค้นหาบริการ
|
||||
Name[tr]=Servis Araştırması
|
||||
Name[ug]=مۇلازىمەت بايقاش
|
||||
Name[uk]=Пошук служб
|
||||
Name[uz]=Tarmoqdagi xizmatlarni qidirish
|
||||
Name[uz@cyrillic]=Тармоқдаги хизматларни қидириш
|
||||
Name[vi]=Khám phá dịch vụ
|
||||
Name[wa]=Discovraedje di siervices
|
||||
Name[x-test]=xxService Discoveryxx
|
||||
Name[zh_CN]=服务探索
|
||||
Name[zh_TW]=服務偵測
|
||||
|
||||
Comment=Configure service discovery
|
||||
Comment[af]=Stel dienste ontdekker op
|
||||
Comment[ar]=اضبط استكشاف الخدمة
|
||||
Comment[ast]=Configura'l guetador de servicios
|
||||
Comment[be]=Настаўленні пошуку сервісаў
|
||||
Comment[be@latin]=Naładź pošuk słužbaŭ
|
||||
Comment[bg]=Настройване откриването на услуги
|
||||
Comment[bn]=সার্ভিস উদ্ঘাটন কনফিগার করুন
|
||||
Comment[bn_IN]=পরিসেবার ডিরেক্টরি কনফিগার করুন
|
||||
Comment[bs]=Podešavanje otkrivanja servisa
|
||||
Comment[ca]=Configura el descobriment de serveis
|
||||
Comment[ca@valencia]=Configura el descobriment de serveis
|
||||
Comment[cs]=Nastavení hledání služeb
|
||||
Comment[csb]=Kòfigùracëjô wëkrëwaniô ùsłëżnotów
|
||||
Comment[da]=Indstil opdagelse af tjeneste
|
||||
Comment[de]=Diensteerkennung einrichten
|
||||
Comment[el]=Διαμόρφωση εύρεσης υπηρεσιών
|
||||
Comment[en_GB]=Configure service discovery
|
||||
Comment[eo]=Agordi malkovradon de servo
|
||||
Comment[es]=Configura el buscador de servicios
|
||||
Comment[et]=Teenuste tuvastamise seadistamine
|
||||
Comment[eu]=Zerbitzu-aurkikuntzaren konfigurazioa
|
||||
Comment[fa]=پیکربندی کشف خدمت
|
||||
Comment[fi]=Palvelun havaitsemisen asetukset
|
||||
Comment[fr]=Configuration de la découverte de services
|
||||
Comment[fy]=Tsjinst waarnimming ynstellen
|
||||
Comment[ga]=Cumraigh fionnachtain seirbhísí
|
||||
Comment[gl]=Configurar o descubrimento de servizos
|
||||
Comment[gu]=સેવા શોધ રૂપરેખાંકિત કરો
|
||||
Comment[he]=שינוי הגדרות הקשורות לגילוי שירותים
|
||||
Comment[hi]=सेवा डिस्कवरी कॉन्फ़िगर करें
|
||||
Comment[hne]=सेवा डिस्कवरी कान्फिगर करव
|
||||
Comment[hr]=Konfiguriranje usluge discovery
|
||||
Comment[hsb]=Pytanje słužbow připrawić
|
||||
Comment[hu]=A szolgáltatásdetektálás beállításai
|
||||
Comment[ia]=Configura discoperta de servicio
|
||||
Comment[id]=Atur penemuan layanan
|
||||
Comment[is]=Stilla uppgötvun þjónustna
|
||||
Comment[it]=Configura il rilevamento dei servizi
|
||||
Comment[ja]=サービスディスカバリの設定
|
||||
Comment[ka]=სერვისის არმოჩენის კონფიგურირება
|
||||
Comment[kk]=Қызыметтерді байқауды баптау
|
||||
Comment[km]=កំណត់រចនាសម្ព័ន្ធការរកឃើញសេវា
|
||||
Comment[kn]=ಸೇವಾ ಆವಿಷ್ಕಾರವನ್ನು (ಸರ್ವೀಸ್ ಡಿಸ್ಕವರಿ) ಸಂರಚಿಸು
|
||||
Comment[ko]=서비스 발견 설정
|
||||
Comment[ku]=naskirina servîsê mîheng bike
|
||||
Comment[lt]=Konfigūruoti tarnybų radimą
|
||||
Comment[lv]=Konfigurē servisu atklāšanu
|
||||
Comment[mai]=सेवा डिस्कवरी बिन्यस्त करू
|
||||
Comment[mk]=Конфигурирајте го откривањето сервиси
|
||||
Comment[ml]=സേവനം കണ്ടെത്തല് ക്രമീകരണം
|
||||
Comment[mr]=सेवा आढळल्यास संयोजीत करा
|
||||
Comment[ms]=Konfigur penemuan servis
|
||||
Comment[nb]=Tilpass tjenesteoppdagingen
|
||||
Comment[nds]=Dat Finnen vun Deensten inrichten
|
||||
Comment[ne]=सेवा खोजी कन्फिगर गर्नुहोस्
|
||||
Comment[nl]=Dienstwaarneming instellen
|
||||
Comment[nn]=Set opp oppdagingstenesta
|
||||
Comment[or]=ସର୍ଭିସ ଆବିଷ୍କାର ବିନ୍ୟାସ କରନ୍ତୁ
|
||||
Comment[pa]=ਸਰਵਿਸ ਖੋਜ ਸੰਰਚਨਾ
|
||||
Comment[pl]=Ustawienia wykrywania usług
|
||||
Comment[pt]=Configurar a descoberta de serviços
|
||||
Comment[pt_BR]=Configura a descoberta de serviços
|
||||
Comment[ro]=Configurează serviciul de descoperire
|
||||
Comment[ru]=Настройка обнаружения служб
|
||||
Comment[se]=Heivet bálvalusáicama
|
||||
Comment[si]=සේවා අනාවරණය සැකසීම
|
||||
Comment[sk]=Nastavenie zisťovania služieb
|
||||
Comment[sl]=Nastavi odkrivanje storitev
|
||||
Comment[sr]=Подешавање откривања сервиса
|
||||
Comment[sr@ijekavian]=Подешавање откривања сервиса
|
||||
Comment[sr@ijekavianlatin]=Podešavanje otkrivanja servisa
|
||||
Comment[sr@latin]=Podešavanje otkrivanja servisa
|
||||
Comment[sv]=Anpassa tjänstupptäckt
|
||||
Comment[ta]=சர்வீஸ் டிஸ்கவரியை வடிவமை
|
||||
Comment[te]=సేవా డిస్కవరిని ఆకృతీకరించుము
|
||||
Comment[tg]=Танзимоти дарёфтани хизматҳо
|
||||
Comment[th]=ปรับแต่งการค้นหาบริการ
|
||||
Comment[tr]=Servis araştırmasını yapılandır
|
||||
Comment[ug]=مۇلازىمەت بايقاش سەپلىمىسى
|
||||
Comment[uk]=Налаштування знаходження служб
|
||||
Comment[uz]=Tarmoqdagi xizmatlarni qidirishni moslash
|
||||
Comment[uz@cyrillic]=Тармоқдаги хизматларни қидиришни мослаш
|
||||
Comment[vi]=Cấu hình khả năng khám phám dịch vụ
|
||||
Comment[wa]=Apontyî l' discovraedje di siervices
|
||||
Comment[x-test]=xxConfigure service discoveryxx
|
||||
Comment[zh_CN]=配置服务探索
|
||||
Comment[zh_TW]=設定服務偵測
|
||||
StartupNotify=true
|
||||
Terminal=false
|
||||
Type=Service
|
||||
X-KDE-ServiceTypes=KCModule
|
||||
X-DBUS-StartupType=
|
||||
X-KDE-HasReadOnlyMode=false
|
||||
X-KDE-Library=kcm_kdnssd
|
||||
X-KDE-ParentApp=kcontrol
|
||||
X-KDE-SubstituteUID=false
|
||||
X-KDE-RootOnly=true
|
||||
Categories=Qt;KDE;X-KDE-settings-network;
|
||||
X-KDE-System-Settings-Parent-Category=network-settings
|
||||
X-KDE-Weight=70
|
74
kcontrol/dnssd/kcmdnssd.cpp
Normal file
74
kcontrol/dnssd/kcmdnssd.cpp
Normal file
|
@ -0,0 +1,74 @@
|
|||
/***************************************************************************
|
||||
* Copyright (C) 2004,2005 by Jakub Stachowski *
|
||||
* qbast@go2.pl *
|
||||
* *
|
||||
* 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 "kcmdnssd.h"
|
||||
|
||||
#include <sys/stat.h>
|
||||
#include <config-runtime.h>
|
||||
|
||||
#include <QtDBus/QtDBus>
|
||||
|
||||
//Added by qt3to4:
|
||||
|
||||
#include <klocale.h>
|
||||
#include <kaboutdata.h>
|
||||
#include <kpluginfactory.h>
|
||||
#include <kpluginloader.h>
|
||||
|
||||
#include <dnssd/settings.h>
|
||||
#include <dnssd/domainbrowser.h>
|
||||
|
||||
#define MDNSD_CONF "/etc/mdnsd.conf"
|
||||
#define MDNSD_PID "/var/run/mdnsd.pid"
|
||||
|
||||
K_PLUGIN_FACTORY(KCMDnssdFactory, registerPlugin<KCMDnssd>();)
|
||||
K_EXPORT_PLUGIN(KCMDnssdFactory("kcmkdnssd"))
|
||||
|
||||
KCMDnssd::KCMDnssd(QWidget *parent, const QVariantList&)
|
||||
: KCModule( KCMDnssdFactory::componentData(), parent)
|
||||
{
|
||||
|
||||
widget = new Ui_ConfigDialog();
|
||||
widget->setupUi(this);
|
||||
setAboutData(new KAboutData("kcm_kdnssd", 0,
|
||||
ki18n("ZeroConf configuration"),0,KLocalizedString(),KAboutData::License_GPL,
|
||||
ki18n("(C) 2004-2007 Jakub Stachowski")));
|
||||
setQuickHelp(i18n("Setup services browsing with ZeroConf"));
|
||||
addConfig(DNSSD::Configuration::self(),this);
|
||||
setButtons( Default|Apply );
|
||||
}
|
||||
|
||||
KCMDnssd::~KCMDnssd()
|
||||
{
|
||||
}
|
||||
|
||||
void KCMDnssd::save()
|
||||
{
|
||||
KCModule::save();
|
||||
|
||||
// Send signal to all kde applications which have a DNSSD::DomainBrowserPrivate instance
|
||||
QDBusMessage message =
|
||||
QDBusMessage::createSignal("/libdnssd", "org.kde.DNSSD.DomainBrowser", "domainListChanged");
|
||||
QDBusConnection::sessionBus().send(message);
|
||||
}
|
||||
|
||||
|
||||
#include "kcmdnssd.moc"
|
||||
|
41
kcontrol/dnssd/kcmdnssd.h
Normal file
41
kcontrol/dnssd/kcmdnssd.h
Normal file
|
@ -0,0 +1,41 @@
|
|||
/***************************************************************************
|
||||
* Copyright (C) 2004,2005 by Jakub Stachowski *
|
||||
* qbast@go2.pl *
|
||||
* *
|
||||
* 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 _KCMDNSSD_H_
|
||||
#define _KCMDNSSD_H_
|
||||
|
||||
|
||||
#include <ui_configdialog.h>
|
||||
#include <kaboutdata.h>
|
||||
#include <kcmodule.h>
|
||||
|
||||
class KCMDnssd: public KCModule
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit KCMDnssd( QWidget *parent=0, const QVariantList& = QVariantList() );
|
||||
~KCMDnssd();
|
||||
virtual void save();
|
||||
private:
|
||||
Ui_ConfigDialog *widget;
|
||||
};
|
||||
|
||||
#endif
|
11
kcontrol/emoticons/CMakeLists.txt
Normal file
11
kcontrol/emoticons/CMakeLists.txt
Normal file
|
@ -0,0 +1,11 @@
|
|||
set(kcmemoticons_SRCS emoticonslist.cpp)
|
||||
kde4_add_ui_files(kcmemoticons_SRCS emoticonslist.ui)
|
||||
|
||||
kde4_add_plugin(kcm_emoticons ${kcmemoticons_SRCS})
|
||||
target_link_libraries(kcm_emoticons ${KDE4_KDEUI_LIBS} ${KDE4_KPARTS_LIBS} ${KDE4_KNEWSTUFF3_LIBS} ${KDE4_KEMOTICONS_LIBRARY})
|
||||
|
||||
install(TARGETS kcm_emoticons DESTINATION ${PLUGIN_INSTALL_DIR} )
|
||||
|
||||
########### install files ###############
|
||||
install( FILES emoticons.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
|
||||
install( FILES emoticons.knsrc DESTINATION ${CONFIG_INSTALL_DIR} )
|
4
kcontrol/emoticons/Messages.sh
Normal file
4
kcontrol/emoticons/Messages.sh
Normal file
|
@ -0,0 +1,4 @@
|
|||
#!/usr/bin/env bash
|
||||
$EXTRACTRC *.ui >> rc.cpp
|
||||
$XGETTEXT *.cpp -o $podir/kcm_emoticons.pot
|
||||
|
211
kcontrol/emoticons/emoticons.desktop
Normal file
211
kcontrol/emoticons/emoticons.desktop
Normal file
|
@ -0,0 +1,211 @@
|
|||
[Desktop Entry]
|
||||
Exec=kcmshell4 emoticons
|
||||
Icon=face-smile
|
||||
Type=Service
|
||||
X-DocPath=kcontrol/emoticons/index.html
|
||||
|
||||
X-KDE-ServiceTypes=KCModule
|
||||
X-KDE-Library=kcm_emoticons
|
||||
X-KDE-ParentApp=kcontrol
|
||||
X-KDE-System-Settings-Parent-Category=application-appearance
|
||||
X-KDE-Weight=110
|
||||
|
||||
Name=Emoticons
|
||||
Name[af]=Emotikons
|
||||
Name[ar]=أوجه تعبيرية
|
||||
Name[as]=ভাব-প্ৰতীক
|
||||
Name[ast]=Fustaxes
|
||||
Name[be@latin]=Smajliki
|
||||
Name[bg]=Емотикони
|
||||
Name[bn]=ইমোট-আইকন
|
||||
Name[bn_IN]=ইমোআইকন
|
||||
Name[bs]=Emotikoni
|
||||
Name[ca]=Emoticones
|
||||
Name[ca@valencia]=Emoticones
|
||||
Name[cs]=Emotikony
|
||||
Name[csb]=Emòtikónczi
|
||||
Name[da]=Emotikoner
|
||||
Name[de]=Emoticons
|
||||
Name[el]=Εικονίδια διάθεσης
|
||||
Name[en_GB]=Emoticons
|
||||
Name[eo]=Miensimboloj
|
||||
Name[es]=Emoticonos
|
||||
Name[et]=Emotikonid
|
||||
Name[eu]=Aurpegierak
|
||||
Name[fa]=صورتک
|
||||
Name[fi]=Hymiöt
|
||||
Name[fr]=Émoticônes
|
||||
Name[fy]=Emobyldkaikes
|
||||
Name[ga]=Straoiseoga
|
||||
Name[gl]=Emoticonas
|
||||
Name[gu]=લાગણીઓ
|
||||
Name[he]=רגשונים
|
||||
Name[hi]=हँसमुख
|
||||
Name[hne]=चेहराचिनहा
|
||||
Name[hr]=Emoticons
|
||||
Name[hsb]=Emotikony
|
||||
Name[hu]=Emotikonok
|
||||
Name[ia]=Emoticones
|
||||
Name[id]=Emoticon
|
||||
Name[is]=Tjáningartákn
|
||||
Name[it]=Faccine
|
||||
Name[ja]=感情アイコン
|
||||
Name[kk]=Көңіл күйі белгілері
|
||||
Name[km]=សញ្ញាអារម្មណ៍
|
||||
Name[kn]=ಭಾವನಾಚಿಹ್ನೆಗಳು (ಎಮೋಟಿಕಾನ್)
|
||||
Name[ko]=이모티콘
|
||||
Name[ku]=Emotîkon
|
||||
Name[lt]=Jaustukai
|
||||
Name[lv]=Emocijzīmes
|
||||
Name[mai]=भाव-प्रतीक
|
||||
Name[mk]=Емотикони
|
||||
Name[ml]=വികാരചിഹ്നങ്ങള്
|
||||
Name[mr]=भावप्रतिमा
|
||||
Name[nb]=Humørfjes
|
||||
Name[nds]=Snuten
|
||||
Name[nl]=Emoticons
|
||||
Name[nn]=Fjesingar
|
||||
Name[or]=Emoticons
|
||||
Name[pa]=ਈਮੋਸ਼ਨ
|
||||
Name[pl]=Emotikony
|
||||
Name[pt]=Ícones Emotivos
|
||||
Name[pt_BR]=Emoticons
|
||||
Name[ro]=Emoticoni
|
||||
Name[ru]=Смайлики
|
||||
Name[se]=Mojánat
|
||||
Name[si]=ඉමොටිකොන
|
||||
Name[sk]=Emotikony
|
||||
Name[sl]=Izrazne ikone
|
||||
Name[sr]=Емотикони
|
||||
Name[sr@ijekavian]=Емотикони
|
||||
Name[sr@ijekavianlatin]=Emotikoni
|
||||
Name[sr@latin]=Emotikoni
|
||||
Name[sv]=Smilisar
|
||||
Name[ta]=உணர்வோயியங்கள்
|
||||
Name[te]=ఎమొటికాన్లు
|
||||
Name[tg]=Тасвирчаҳо
|
||||
Name[th]=ไอคอนสื่ออารมณ์
|
||||
Name[tr]=Duygu Simgeleri
|
||||
Name[ug]=چىراي ئىپادىلىرى
|
||||
Name[uk]=Емоційки
|
||||
Name[uz]=His-tuygʻular
|
||||
Name[uz@cyrillic]=Ҳис-туйғулар
|
||||
Name[vi]=Hình biểu cảm
|
||||
Name[wa]=Xhinêyes
|
||||
Name[x-test]=xxEmoticonsxx
|
||||
Name[zh_CN]=表情
|
||||
Name[zh_TW]=表情圖示
|
||||
Comment=Choose Emoticon Theme
|
||||
Comment[ar]=اختر سمة وجه تعبيري
|
||||
Comment[bg]=Избор на теми с емотикони
|
||||
Comment[bs]=Izbor emotikonskih tema
|
||||
Comment[ca]=Selecció de tema d'emoticones
|
||||
Comment[ca@valencia]=Selecció de tema d'emoticones
|
||||
Comment[cs]=Vyberte motiv emotikonů
|
||||
Comment[da]=Vælg emotikontema
|
||||
Comment[de]=Emoticon-Design auswählen
|
||||
Comment[el]=Επιλογή θέματος εικονιδίων διάθεσης
|
||||
Comment[en_GB]=Choose Emoticon Theme
|
||||
Comment[es]=Escoger tema de emoticonos
|
||||
Comment[et]=Emotikoniteema valimine
|
||||
Comment[eu]=Hautatu aurpegiera-gaia
|
||||
Comment[fa]=انتخاب چهرههای صورتکها
|
||||
Comment[fi]=Valitse hymiöteema
|
||||
Comment[fr]=Choisir le thème d'émoticônes
|
||||
Comment[gl]=Escolle o tema de emoticonas
|
||||
Comment[hu]=Hangulatjel-téma kiválasztása
|
||||
Comment[ia]=Selige Thema de Emoticon
|
||||
Comment[id]=Pilih Tema Emoticon
|
||||
Comment[is]=Veldu tjáningartáknaþema
|
||||
Comment[it]=Scegli tema delle faccine
|
||||
Comment[ja]=感情アイコンテーマの選択
|
||||
Comment[kk]=Көңіл күй белгілер нақышының таңдау
|
||||
Comment[ko]=이모티콘 테마 선택
|
||||
Comment[lt]=Pasirinkite jaustukų temą
|
||||
Comment[nb]=Velg humørfjes-temaer
|
||||
Comment[nds]=Snutensett utsöken
|
||||
Comment[nl]=Thema voor emoticon kiezen
|
||||
Comment[nn]=Vel fjesingtema
|
||||
Comment[pa]=ਈਮੋਸ਼ਨ ਥੀਮ ਚੁਣੋ
|
||||
Comment[pl]=Wybierz zestaw emotikon
|
||||
Comment[pt]=Escolher o Tema de Ícones Emotivos
|
||||
Comment[pt_BR]=Escolhe o tema de emoticons
|
||||
Comment[ro]=Alegeți tema de emoticoni
|
||||
Comment[ru]=Выбор темы смайликов
|
||||
Comment[sk]=Vybrať tému emotikonov
|
||||
Comment[sl]=Izberite temo izraznih ikon
|
||||
Comment[sr]=Избор емотиконских тема
|
||||
Comment[sr@ijekavian]=Избор емотиконских тема
|
||||
Comment[sr@ijekavianlatin]=Izbor emotikonskih tema
|
||||
Comment[sr@latin]=Izbor emotikonskih tema
|
||||
Comment[sv]=Välj smilistema
|
||||
Comment[tr]=Duygu Simgesi Temasını Seçin
|
||||
Comment[ug]=چىراي ئۆرنەكلىرى تاللاش
|
||||
Comment[uk]=Вибір теми емоційок
|
||||
Comment[wa]=Tchoezixhoz li tinme des xhinêyes
|
||||
Comment[x-test]=xxChoose Emoticon Themexx
|
||||
Comment[zh_CN]=选择表情主题
|
||||
Comment[zh_TW]=選擇表情圖示主題
|
||||
X-KDE-Keywords=Emoticons
|
||||
X-KDE-Keywords[ar]=أوجه تعبيرية
|
||||
X-KDE-Keywords[ast]=Fustaxes
|
||||
X-KDE-Keywords[bg]=Emoticons,Емотикони
|
||||
X-KDE-Keywords[bn]=ইমোট-আইকন
|
||||
X-KDE-Keywords[bs]=Emotikoni
|
||||
X-KDE-Keywords[ca]=Emoticones
|
||||
X-KDE-Keywords[ca@valencia]=Emoticones
|
||||
X-KDE-Keywords[cs]=Emotikony
|
||||
X-KDE-Keywords[da]=Emotikoner
|
||||
X-KDE-Keywords[de]=Emoticons
|
||||
X-KDE-Keywords[el]=Εικονίδια διάθεσης
|
||||
X-KDE-Keywords[en_GB]=Emoticons
|
||||
X-KDE-Keywords[eo]=Miensimboloj
|
||||
X-KDE-Keywords[es]=Emoticonos
|
||||
X-KDE-Keywords[et]=Emotikonid
|
||||
X-KDE-Keywords[eu]=Aurpegierak
|
||||
X-KDE-Keywords[fa]=صورتک
|
||||
X-KDE-Keywords[fi]=Hymiöt
|
||||
X-KDE-Keywords[fr]=Émoticônes
|
||||
X-KDE-Keywords[ga]=Straoiseoga
|
||||
X-KDE-Keywords[gl]=Emoticonas
|
||||
X-KDE-Keywords[gu]=લાગણીઓ
|
||||
X-KDE-Keywords[he]=רגשונים
|
||||
X-KDE-Keywords[hi]=हँसमुख
|
||||
X-KDE-Keywords[hu]=Emotikonok
|
||||
X-KDE-Keywords[ia]=Emoticones
|
||||
X-KDE-Keywords[id]=Emotikon
|
||||
X-KDE-Keywords[is]=Tjáningartákn
|
||||
X-KDE-Keywords[it]=Faccine
|
||||
X-KDE-Keywords[ja]=感情アイコン
|
||||
X-KDE-Keywords[kk]=Emoticons,Көңіл күйі белгілері
|
||||
X-KDE-Keywords[km]=សញ្ញាអារម្មណ៍
|
||||
X-KDE-Keywords[ko]=이모티콘
|
||||
X-KDE-Keywords[lt]=Jaustukai
|
||||
X-KDE-Keywords[lv]=Emocijzīmes
|
||||
X-KDE-Keywords[mr]=भावप्रतिमा
|
||||
X-KDE-Keywords[nb]=Humørfjes
|
||||
X-KDE-Keywords[nds]=Snuten
|
||||
X-KDE-Keywords[nl]=Emoticons
|
||||
X-KDE-Keywords[nn]=Fjesingar
|
||||
X-KDE-Keywords[pa]=ਈਮੋਸ਼ਨ
|
||||
X-KDE-Keywords[pl]=Emotikony
|
||||
X-KDE-Keywords[pt]=Ícones Emotivos
|
||||
X-KDE-Keywords[pt_BR]=Emoticons
|
||||
X-KDE-Keywords[ro]=Emoticoni
|
||||
X-KDE-Keywords[ru]=Emoticons,смайлики,смайлы,улыбочки
|
||||
X-KDE-Keywords[sk]=Emotikony
|
||||
X-KDE-Keywords[sl]=Izrazne ikone
|
||||
X-KDE-Keywords[sr]=emoticons,емотикон
|
||||
X-KDE-Keywords[sr@ijekavian]=emoticons,емотикон
|
||||
X-KDE-Keywords[sr@ijekavianlatin]=emoticons,emotikon
|
||||
X-KDE-Keywords[sr@latin]=emoticons,emotikon
|
||||
X-KDE-Keywords[sv]=Smilisar
|
||||
X-KDE-Keywords[tg]=Тасвирчаҳо
|
||||
X-KDE-Keywords[tr]=Duygu Simgeleri
|
||||
X-KDE-Keywords[ug]=چىراي ئىپادىلىرى
|
||||
X-KDE-Keywords[uk]=емоційка,емоційки,смайлик,смайлики
|
||||
X-KDE-Keywords[vi]=Hình biểu cảm
|
||||
X-KDE-Keywords[wa]=Xhinêyes
|
||||
X-KDE-Keywords[x-test]=xxEmoticonsxx
|
||||
X-KDE-Keywords[zh_CN]=Emoticons,表情
|
||||
X-KDE-Keywords[zh_TW]=Emoticons
|
5
kcontrol/emoticons/emoticons.knsrc
Normal file
5
kcontrol/emoticons/emoticons.knsrc
Normal file
|
@ -0,0 +1,5 @@
|
|||
[KNewStuff3]
|
||||
ProvidersUrl=http://download.kde.org/ocs/providers.xml
|
||||
Categories=Emoticon Theme
|
||||
StandardResource=emoticons
|
||||
Uncompress=always
|
488
kcontrol/emoticons/emoticonslist.cpp
Normal file
488
kcontrol/emoticons/emoticonslist.cpp
Normal file
|
@ -0,0 +1,488 @@
|
|||
/***************************************************************************
|
||||
* Copyright (C) 2007 by Carlo Segato <brandon.ml@gmail.com> *
|
||||
* Copyright (C) 2008 Montel Laurent <montel@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 "emoticonslist.h"
|
||||
#include <QString>
|
||||
#include <QDir>
|
||||
#include <QIcon>
|
||||
#include <QLabel>
|
||||
#include <QListWidgetItem>
|
||||
#include <KMessageBox>
|
||||
#include <KDebug>
|
||||
#include <KIcon>
|
||||
#include <KAboutData>
|
||||
#include <KStandardDirs>
|
||||
#include <KFileDialog>
|
||||
#include <KInputDialog>
|
||||
#include <KUrlRequesterDialog>
|
||||
#include <kdecore_export.h>
|
||||
#include <kio/netaccess.h>
|
||||
#include <kpluginfactory.h>
|
||||
#include <KNS3/DownloadDialog>
|
||||
|
||||
EditDialog::EditDialog(QWidget *parent, const QString &name)
|
||||
: KDialog(parent)
|
||||
{
|
||||
setCaption(name);
|
||||
setupDlg();
|
||||
}
|
||||
|
||||
EditDialog::EditDialog(QWidget *parent, const QString &name, QListWidgetItem *itm, const QString &file)
|
||||
: KDialog(parent)
|
||||
{
|
||||
setCaption(name);
|
||||
emoticon = file;
|
||||
setupDlg();
|
||||
leText->setText(itm->text());
|
||||
btnIcon->setIcon(itm->icon());
|
||||
}
|
||||
|
||||
void EditDialog::setupDlg()
|
||||
{
|
||||
wdg = new QWidget(this);
|
||||
QVBoxLayout *vl = new QVBoxLayout;
|
||||
QHBoxLayout *hb = new QHBoxLayout;
|
||||
leText = new KLineEdit(this);
|
||||
btnIcon = new QPushButton(this);
|
||||
btnIcon->setFixedSize(QSize(64, 64));
|
||||
btnIcon->setIconSize(QSize(64, 64));
|
||||
|
||||
QLabel *lab = new QLabel(i18n("Insert the string for the emoticon. If you want multiple strings, separate them by spaces."), wdg);
|
||||
lab->setWordWrap(true);
|
||||
vl->addWidget(lab);
|
||||
hb->addWidget(btnIcon);
|
||||
hb->addWidget(leText);
|
||||
vl->addLayout(hb);
|
||||
wdg->setLayout(vl);
|
||||
setMainWidget(wdg);
|
||||
connect(btnIcon, SIGNAL(clicked()), this, SLOT(btnIconClicked()));
|
||||
connect(leText, SIGNAL(textChanged(const QString &)), this, SLOT(updateOkButton()));
|
||||
updateOkButton();
|
||||
leText->setFocus();
|
||||
}
|
||||
|
||||
void EditDialog::btnIconClicked()
|
||||
{
|
||||
KUrl url = KFileDialog::getImageOpenUrl();
|
||||
|
||||
if (!url.isLocalFile())
|
||||
return;
|
||||
|
||||
emoticon = url.toLocalFile();
|
||||
|
||||
if (emoticon.isEmpty())
|
||||
return;
|
||||
|
||||
btnIcon->setIcon(QPixmap(emoticon));
|
||||
updateOkButton();
|
||||
}
|
||||
|
||||
void EditDialog::updateOkButton()
|
||||
{
|
||||
enableButtonOk(!leText->text().isEmpty() && !emoticon.isEmpty());
|
||||
}
|
||||
|
||||
K_PLUGIN_FACTORY(EmoticonsFactory, registerPlugin<EmoticonList>();)
|
||||
K_EXPORT_PLUGIN(EmoticonsFactory("emoticons", "kcm_emoticons"))
|
||||
|
||||
EmoticonList::EmoticonList(QWidget *parent, const QVariantList &args)
|
||||
: KCModule(EmoticonsFactory::componentData(), parent, args)
|
||||
{
|
||||
KAboutData *about = new KAboutData("kcm_emoticons", 0, ki18n("Emoticons"), "1.0");
|
||||
setAboutData(about);
|
||||
// setButtons(Apply | Help);
|
||||
setupUi(this);
|
||||
btAdd->setIcon(KIcon("list-add"));
|
||||
btEdit->setIcon(KIcon("edit-rename"));
|
||||
btRemoveEmoticon->setIcon(KIcon("edit-delete"));
|
||||
btNew->setIcon(KIcon("document-new"));
|
||||
btGetNew->setIcon(KIcon("get-hot-new-stuff"));
|
||||
btInstall->setIcon(KIcon("document-import"));
|
||||
btRemoveTheme->setIcon(KIcon("edit-delete"));
|
||||
|
||||
connect(themeList, SIGNAL(itemSelectionChanged()), this, SLOT(selectTheme()));
|
||||
connect(themeList, SIGNAL(itemSelectionChanged()), this, SLOT(updateButton()));
|
||||
connect(btRemoveTheme, SIGNAL(clicked()), this, SLOT(btRemoveThemeClicked()));
|
||||
connect(btInstall, SIGNAL(clicked()), this, SLOT(installEmoticonTheme()));
|
||||
connect(btNew, SIGNAL(clicked()), this, SLOT(newTheme()));
|
||||
connect(btGetNew, SIGNAL(clicked()), this, SLOT(getNewStuff()));
|
||||
connect(cbStrict, SIGNAL(clicked()), this, SLOT(somethingChanged()));
|
||||
|
||||
connect(btAdd, SIGNAL(clicked()), this, SLOT(addEmoticon()));
|
||||
connect(btEdit, SIGNAL(clicked()), this, SLOT(editEmoticon()));
|
||||
connect(btRemoveEmoticon, SIGNAL(clicked()), this, SLOT(btRemoveEmoticonClicked()));
|
||||
connect(emoList, SIGNAL(itemSelectionChanged()), this, SLOT(updateButton()));
|
||||
connect(emoList, SIGNAL(itemDoubleClicked(QListWidgetItem *)), this, SLOT(editEmoticon()));
|
||||
}
|
||||
|
||||
EmoticonList::~EmoticonList()
|
||||
{
|
||||
}
|
||||
|
||||
bool caseInsensitiveLessThan(const QString &s1, const QString &s2)
|
||||
{
|
||||
return (QString::localeAwareCompare(s1, s2) < 0);
|
||||
}
|
||||
|
||||
void EmoticonList::load()
|
||||
{
|
||||
KStandardDirs dir;
|
||||
|
||||
delFiles.clear();
|
||||
themeList->clear();
|
||||
emoMap.clear();
|
||||
emoList->clear();
|
||||
|
||||
QStringList themeList = kEmoticons.themeList();
|
||||
qSort(themeList.begin(), themeList.end(), caseInsensitiveLessThan);
|
||||
|
||||
for (int i = 0; i < themeList.count(); i++) {
|
||||
loadTheme(themeList.at(i));
|
||||
}
|
||||
|
||||
if (kEmoticons.parseMode() & KEmoticonsTheme::StrictParse) {
|
||||
cbStrict->setChecked(true);
|
||||
} else {
|
||||
cbStrict->setChecked(false);
|
||||
}
|
||||
|
||||
updateButton();
|
||||
emit changed(false);
|
||||
}
|
||||
|
||||
void EmoticonList::save()
|
||||
{
|
||||
for (int i = 0; i < delFiles.size(); i++) {
|
||||
KIO::NetAccess::del(delFiles.at(i), this);
|
||||
}
|
||||
|
||||
foreach (KEmoticonsTheme t, emoMap) {
|
||||
t.save();
|
||||
}
|
||||
|
||||
if (themeList->currentItem()) {
|
||||
kEmoticons.setTheme(themeList->currentItem()->text());
|
||||
}
|
||||
|
||||
if (cbStrict->isChecked()) {
|
||||
kEmoticons.setParseMode((kEmoticons.parseMode() |= KEmoticonsTheme::StrictParse) &= ~KEmoticonsTheme::RelaxedParse);
|
||||
} else {
|
||||
kEmoticons.setParseMode((kEmoticons.parseMode() |= KEmoticonsTheme::RelaxedParse) &= ~KEmoticonsTheme::StrictParse);
|
||||
}
|
||||
}
|
||||
|
||||
void EmoticonList::somethingChanged()
|
||||
{
|
||||
emit changed(true);
|
||||
}
|
||||
|
||||
void EmoticonList::updateButton()
|
||||
{
|
||||
bool can = canEditTheme();
|
||||
btRemoveEmoticon->setEnabled(themeList->currentItem() && emoList->selectedItems().size() && can);
|
||||
btRemoveTheme->setEnabled(themeList->currentItem() && themeList->currentItem()->text() != "kde4" && themeList->count() > 1 && can);
|
||||
btEdit->setEnabled(themeList->currentItem() && emoList->selectedItems().size() && can);
|
||||
btAdd->setEnabled(themeList->currentItem() && can);
|
||||
}
|
||||
|
||||
void EmoticonList::selectTheme()
|
||||
{
|
||||
|
||||
kDebug() << "current_item: " << themeList->currentItem();
|
||||
|
||||
updateButton();
|
||||
if (!themeList->currentItem()) {
|
||||
emoList->clear();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!themeList->currentItem()) {
|
||||
themeList->currentItem()->setSelected(true);
|
||||
return;
|
||||
}
|
||||
emoList->clear();
|
||||
|
||||
KEmoticonsTheme em = emoMap.value(themeList->currentItem()->text());
|
||||
QHash<QString, QStringList>::const_iterator it = em.emoticonsMap().constBegin();
|
||||
|
||||
for (; it != em.emoticonsMap().constEnd(); ++it) {
|
||||
QString text;
|
||||
if (it.value().size()) {
|
||||
text = it.value().at(0);
|
||||
for (int i = 1; i < it.value().size(); i++) {
|
||||
text += ' ' + it.value().at(i);
|
||||
}
|
||||
}
|
||||
|
||||
new QListWidgetItem(QIcon(it.key()), text, emoList);
|
||||
}
|
||||
emit changed();
|
||||
}
|
||||
|
||||
void EmoticonList::btRemoveThemeClicked()
|
||||
{
|
||||
if (!themeList->currentItem()) {
|
||||
return;
|
||||
}
|
||||
|
||||
QString name = themeList->currentItem()->text();
|
||||
|
||||
delFiles.append(KGlobal::dirs()->findResource("emoticons", name + QDir::separator()));
|
||||
delete themeList->currentItem();
|
||||
emoMap.remove(name);
|
||||
emit changed();
|
||||
}
|
||||
|
||||
void EmoticonList::installEmoticonTheme()
|
||||
{
|
||||
KUrl themeURL = KUrlRequesterDialog::getUrl(QString(), this, i18n("Drag or Type Emoticon Theme URL"));
|
||||
if (themeURL.isEmpty())
|
||||
return;
|
||||
|
||||
if (!themeURL.isLocalFile()) {
|
||||
KMessageBox::queuedMessageBox(this, KMessageBox::Error, i18n("Emoticon themes must be installed from local files."),
|
||||
i18n("Could Not Install Emoticon Theme"));
|
||||
return;
|
||||
}
|
||||
QStringList installed = kEmoticons.installTheme(themeURL.toLocalFile());
|
||||
for (int i = 0; i < installed.size(); i++)
|
||||
loadTheme(installed.at(i));
|
||||
}
|
||||
|
||||
void EmoticonList::btRemoveEmoticonClicked()
|
||||
{
|
||||
if (!emoList->currentItem()) {
|
||||
return;
|
||||
}
|
||||
|
||||
QListWidgetItem *itm = emoList->currentItem();
|
||||
KEmoticonsTheme theme = emoMap.value(themeList->currentItem()->text());
|
||||
QString fPath = theme.emoticonsMap().key(itm->text().split(' '));
|
||||
if (theme.removeEmoticon(itm->text())) {
|
||||
int ret = KMessageBox::questionYesNo(this, i18n("Do you want to remove %1 too?", fPath), i18n("Delete emoticon"));
|
||||
if (ret == KMessageBox::Yes) {
|
||||
delFiles.append(fPath);
|
||||
}
|
||||
|
||||
delete itm;
|
||||
themeList->currentItem()->setIcon(QIcon(previewEmoticon(theme)));
|
||||
emit changed();
|
||||
}
|
||||
}
|
||||
|
||||
void EmoticonList::addEmoticon()
|
||||
{
|
||||
if (!themeList->currentItem())
|
||||
return;
|
||||
|
||||
EditDialog *dlg = new EditDialog(this, i18n("Add Emoticon"));
|
||||
|
||||
if (dlg->exec() == QDialog::Rejected) {
|
||||
delete dlg;
|
||||
return;
|
||||
}
|
||||
|
||||
KEmoticonsTheme theme = emoMap.value(themeList->currentItem()->text());
|
||||
if (theme.addEmoticon(dlg->getEmoticon(), dlg->getText(), KEmoticonsProvider::Copy)) {
|
||||
new QListWidgetItem(QPixmap(dlg->getEmoticon()), dlg->getText(), emoList);
|
||||
themeList->currentItem()->setIcon(QIcon(previewEmoticon(theme)));
|
||||
emit changed();
|
||||
}
|
||||
delete dlg;
|
||||
}
|
||||
|
||||
void EmoticonList::editEmoticon()
|
||||
{
|
||||
if (!themeList->currentItem() || !emoList->currentItem())
|
||||
return;
|
||||
|
||||
KEmoticonsTheme theme = emoMap.value(themeList->currentItem()->text());
|
||||
QString path = theme.emoticonsMap().key(emoList->currentItem()->text().split(' '));
|
||||
QString f = QFileInfo(path).fileName();
|
||||
EditDialog *dlg = new EditDialog(this, i18n("Edit Emoticon"), emoList->currentItem(), path);
|
||||
|
||||
if (dlg->exec() == QDialog::Rejected) {
|
||||
delete dlg;
|
||||
return;
|
||||
}
|
||||
bool copy;
|
||||
QString emo = dlg->getEmoticon();
|
||||
if (path != dlg->getEmoticon()) {
|
||||
copy = true;
|
||||
} else {
|
||||
copy = false;
|
||||
|
||||
KStandardDirs *dir = KGlobal::dirs();
|
||||
emo = dir->findResource("emoticons", themeList->currentItem()->text() + QDir::separator() + f);
|
||||
|
||||
if (emo.isNull())
|
||||
emo = dir->findResource("emoticons", themeList->currentItem()->text() + QDir::separator() + f + ".mng");
|
||||
if (emo.isNull())
|
||||
emo = dir->findResource("emoticons", themeList->currentItem()->text() + QDir::separator() + f + ".png");
|
||||
if (emo.isNull())
|
||||
emo = dir->findResource("emoticons", themeList->currentItem()->text() + QDir::separator() + f + ".gif");
|
||||
if (emo.isNull())
|
||||
emo = dir->findResource("emoticons", themeList->currentItem()->text() + QDir::separator() + f + ".jpg");
|
||||
if (emo.isNull())
|
||||
emo = dir->findResource("emoticons", themeList->currentItem()->text() + QDir::separator() + f + ".jpeg");
|
||||
if (emo.isNull()) {
|
||||
delete dlg;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (theme.removeEmoticon(emoList->currentItem()->text())) {
|
||||
delete emoList->currentItem();
|
||||
}
|
||||
|
||||
if (theme.addEmoticon(emo, dlg->getText(), copy ? KEmoticonsProvider::Copy : KEmoticonsProvider::DoNotCopy)) {
|
||||
new QListWidgetItem(QPixmap(emo), dlg->getText(), emoList);
|
||||
}
|
||||
|
||||
emit changed();
|
||||
delete dlg;
|
||||
}
|
||||
|
||||
void EmoticonList::newTheme()
|
||||
{
|
||||
QString name = KInputDialog::getText(i18n("New Emoticon Theme"), i18n("Enter the name of the new emoticon theme:"));
|
||||
if (name.isEmpty())
|
||||
return;
|
||||
QString path = KGlobal::dirs()->saveLocation("emoticons", name, false);
|
||||
|
||||
if (KIO::NetAccess::exists(path, KIO::NetAccess::SourceSide, this)) {
|
||||
KMessageBox::error(this, i18n("%1 theme already exists", name));
|
||||
} else {
|
||||
QString constraint("(exist Library)");
|
||||
KService::List srv = KServiceTypeTrader::self()->query("KEmoticons", constraint);
|
||||
|
||||
QStringList ls;
|
||||
int current = 0;
|
||||
|
||||
for (int i = 0; i < srv.size(); ++i) {
|
||||
ls << srv.at(i)->name();
|
||||
|
||||
if (srv.at(i)->property("X-KDE-Priority").toInt() > srv.at(current)->property("X-KDE-Priority").toInt()) {
|
||||
current = i;
|
||||
}
|
||||
}
|
||||
|
||||
bool ok;
|
||||
QString type = KInputDialog::getItem(i18n("New Emoticon Theme"), i18n("Choose the type of emoticon theme to create"), ls, current, false, &ok, this);
|
||||
|
||||
if (ok && !type.isEmpty()) {
|
||||
int index = ls.indexOf(type);
|
||||
kEmoticons.newTheme(name, srv.at(index));
|
||||
|
||||
loadTheme(name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void EmoticonList::loadTheme(const QString &name)
|
||||
{
|
||||
if (name.isEmpty())
|
||||
return;
|
||||
|
||||
if (emoMap.contains(name)) {
|
||||
emoMap.remove(name);
|
||||
QList<QListWidgetItem *>ls = themeList->findItems(name, Qt::MatchExactly);
|
||||
if (ls.size()) {
|
||||
delete ls.at(0);
|
||||
}
|
||||
}
|
||||
|
||||
KEmoticonsTheme emo = kEmoticons.theme(name);
|
||||
if (!emo.isNull()) {
|
||||
emoMap[name] = emo;
|
||||
QIcon previewIcon = QIcon(previewEmoticon(emo));
|
||||
QListWidgetItem *itm = new QListWidgetItem(previewIcon, name, themeList);
|
||||
|
||||
if (name == kEmoticons.currentThemeName()) {
|
||||
themeList->setCurrentItem(itm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void EmoticonList::getNewStuff()
|
||||
{
|
||||
KNS3::DownloadDialog dialog("emoticons.knsrc", this);
|
||||
dialog.exec();
|
||||
if (!dialog.changedEntries().isEmpty()) {
|
||||
KNS3::Entry::List entries = dialog.changedEntries();
|
||||
|
||||
for (int i = 0; i < entries.size(); i ++) {
|
||||
if (entries.at(i).status() == KNS3::Entry::Installed
|
||||
&& !entries.at(i).installedFiles().isEmpty()) {
|
||||
QString name = entries.at(i).installedFiles().at(0).section('/', -2, -2);
|
||||
loadTheme(name);
|
||||
} else if (entries.at(i).status() == KNS3::Entry::Deleted) {
|
||||
QString name = entries.at(i).uninstalledFiles().at(0).section('/', -2, -2);
|
||||
QList<QListWidgetItem*> ls = themeList->findItems(name, Qt::MatchExactly);
|
||||
if (ls.size()) {
|
||||
delete ls.at(0);
|
||||
emoMap.remove(name);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QString EmoticonList::previewEmoticon(const KEmoticonsTheme &theme)
|
||||
{
|
||||
QString path = theme.tokenize(":)")[0].picPath;
|
||||
if (path.isEmpty()) {
|
||||
path = theme.emoticonsMap().keys().value(0);
|
||||
}
|
||||
return path;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void EmoticonList::initDefaults()
|
||||
{
|
||||
QList<QListWidgetItem *>ls = themeList->findItems("kde4", Qt::MatchExactly);
|
||||
themeList->setCurrentItem( ls.first() );
|
||||
|
||||
cbStrict->setChecked(false);
|
||||
}
|
||||
|
||||
|
||||
void EmoticonList::defaults()
|
||||
{
|
||||
initDefaults();
|
||||
selectTheme();
|
||||
emit changed(true);
|
||||
}
|
||||
|
||||
bool EmoticonList::canEditTheme()
|
||||
{
|
||||
if (!themeList->currentItem()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
KEmoticonsTheme theme = emoMap.value(themeList->currentItem()->text());
|
||||
QFileInfo inf(theme.themePath() + '/' + theme.fileName());
|
||||
|
||||
return inf.isWritable();
|
||||
}
|
||||
|
||||
// kate: space-indent on; indent-width 4; replace-tabs on;
|
83
kcontrol/emoticons/emoticonslist.h
Normal file
83
kcontrol/emoticons/emoticonslist.h
Normal file
|
@ -0,0 +1,83 @@
|
|||
/***************************************************************************
|
||||
* Copyright (C) 2007 by Carlo Segato <brandon.ml@gmail.com> *
|
||||
* Copyright (C) 2008 Montel Laurent <montel@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 EMOTICONSLIST_H
|
||||
#define EMOTICONSLIST_H
|
||||
|
||||
#include <QStringList>
|
||||
#include <KLineEdit>
|
||||
#include <kcmodule.h>
|
||||
#include <kemoticons.h>
|
||||
#include "ui_emoticonslist.h"
|
||||
|
||||
class EditDialog : public KDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
EditDialog(QWidget *parent, const QString &name);
|
||||
EditDialog(QWidget *parent, const QString &name, QListWidgetItem *itm, const QString &file);
|
||||
QString getText() const { return leText->text(); };
|
||||
QString getEmoticon() const { return emoticon; };
|
||||
private slots:
|
||||
void btnIconClicked();
|
||||
void updateOkButton();
|
||||
private:
|
||||
void setupDlg();
|
||||
QWidget *wdg;
|
||||
KLineEdit *leText;
|
||||
QPushButton *btnIcon;
|
||||
QString emoticon;
|
||||
};
|
||||
|
||||
class EmoticonList : public KCModule, Ui::EmoticonsManager
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
EmoticonList(QWidget *parent, const QVariantList &args);
|
||||
~EmoticonList();
|
||||
void load();
|
||||
void save();
|
||||
virtual void defaults();
|
||||
private slots:
|
||||
void installEmoticonTheme();
|
||||
void btRemoveThemeClicked();
|
||||
void btRemoveEmoticonClicked();
|
||||
void selectTheme();
|
||||
void addEmoticon();
|
||||
void editEmoticon();
|
||||
void newTheme();
|
||||
void getNewStuff();
|
||||
void updateButton();
|
||||
void somethingChanged();
|
||||
private:
|
||||
void loadTheme(const QString &name);
|
||||
void initDefaults();
|
||||
bool canEditTheme();
|
||||
QString previewEmoticon(const KEmoticonsTheme &theme);
|
||||
QHash<QString, KEmoticonsTheme> emoMap;
|
||||
QStringList delFiles;
|
||||
KEmoticons kEmoticons;
|
||||
};
|
||||
|
||||
#endif /* EMOTICONSLIST_H */
|
||||
|
||||
// kate: space-indent on; indent-width 4; replace-tabs on;
|
169
kcontrol/emoticons/emoticonslist.ui
Normal file
169
kcontrol/emoticons/emoticonslist.ui
Normal file
|
@ -0,0 +1,169 @@
|
|||
<ui version="4.0" >
|
||||
<class>EmoticonsManager</class>
|
||||
<widget class="QWidget" name="EmoticonsManager" >
|
||||
<property name="geometry" >
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>630</width>
|
||||
<height>419</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle" >
|
||||
<string>Emoticons Manager</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" >
|
||||
<item row="0" column="0" >
|
||||
<widget class="QListWidget" name="themeList" >
|
||||
<property name="iconSize" >
|
||||
<size>
|
||||
<width>22</width>
|
||||
<height>22</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item rowspan="2" row="0" column="1" >
|
||||
<widget class="QListWidget" name="emoList" >
|
||||
<property name="iconSize" >
|
||||
<size>
|
||||
<width>22</width>
|
||||
<height>22</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item rowspan="2" row="0" column="2" >
|
||||
<layout class="QVBoxLayout" >
|
||||
<property name="margin" >
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="KPushButton" name="btAdd" >
|
||||
<property name="toolTip" >
|
||||
<string>Create a new emoticon</string>
|
||||
</property>
|
||||
<property name="whatsThis" >
|
||||
<string>Create a new emoticon by assigning it an icon and some text</string>
|
||||
</property>
|
||||
<property name="text" >
|
||||
<string>Add...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="KPushButton" name="btEdit" >
|
||||
<property name="toolTip" >
|
||||
<string>Modify the selected emoticon icon or text </string>
|
||||
</property>
|
||||
<property name="whatsThis" >
|
||||
<string>Edit the selected emoticon to change its icon or its text</string>
|
||||
</property>
|
||||
<property name="text" >
|
||||
<string>Edit...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="KPushButton" name="btRemoveEmoticon" >
|
||||
<property name="toolTip" >
|
||||
<string>Remove the selected emoticon</string>
|
||||
</property>
|
||||
<property name="whatsThis" >
|
||||
<string>Remove the selected emoticon from your disk</string>
|
||||
</property>
|
||||
<property name="text" >
|
||||
<string>Remove</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer>
|
||||
<property name="orientation" >
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0" >
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="0" >
|
||||
<layout class="QVBoxLayout" >
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbStrict" >
|
||||
<property name="text" >
|
||||
<string>Require spaces around emoticons</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="KPushButton" name="btNew" >
|
||||
<property name="toolTip" >
|
||||
<string>Design a new emoticon theme</string>
|
||||
</property>
|
||||
<property name="whatsThis" >
|
||||
<string>Start a new theme by assigning it a name. Then use the Add button on the right to add emoticons to this theme.</string>
|
||||
</property>
|
||||
<property name="text" >
|
||||
<string>New Theme...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="KPushButton" name="btGetNew" >
|
||||
<property name="toolTip" >
|
||||
<string>Get new icon themes from the Internet</string>
|
||||
</property>
|
||||
<property name="whatsThis" >
|
||||
<string>You need to be connected to the Internet to use this action. A dialog will display a list of emoticon themes from the http://www.kde-look.org website. Clicking the Install button associated with a theme will install this theme locally.</string>
|
||||
</property>
|
||||
<property name="text" >
|
||||
<string>Get New Icon Themes...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="KPushButton" name="btInstall" >
|
||||
<property name="toolTip" >
|
||||
<string>Install a theme archive file you already have locally</string>
|
||||
</property>
|
||||
<property name="whatsThis" >
|
||||
<string>If you already have an emoticon theme archive locally, this button will unpack it and make it available for KDE applications</string>
|
||||
</property>
|
||||
<property name="text" >
|
||||
<string>Install Theme File...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="KPushButton" name="btRemoveTheme" >
|
||||
<property name="toolTip" >
|
||||
<string>Remove the selected theme from your disk</string>
|
||||
</property>
|
||||
<property name="whatsThis" >
|
||||
<string>This will remove the selected theme from your disk.</string>
|
||||
</property>
|
||||
<property name="text" >
|
||||
<string>Remove Theme</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>KPushButton</class>
|
||||
<extends>QPushButton</extends>
|
||||
<header>kpushbutton.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
20
kcontrol/icons/CMakeLists.txt
Normal file
20
kcontrol/icons/CMakeLists.txt
Normal file
|
@ -0,0 +1,20 @@
|
|||
|
||||
add_subdirectory(tests)
|
||||
|
||||
########### next target ###############
|
||||
|
||||
set(kcm_icons_PART_SRCS iconthemes.cpp icons.cpp main.cpp )
|
||||
|
||||
|
||||
kde4_add_plugin(kcm_icons ${kcm_icons_PART_SRCS})
|
||||
|
||||
|
||||
target_link_libraries(kcm_icons ${KDE4_KIO_LIBS} ${KDE4_KNEWSTUFF3_LIBS})
|
||||
|
||||
install(TARGETS kcm_icons DESTINATION ${PLUGIN_INSTALL_DIR} )
|
||||
|
||||
|
||||
########### install files ###############
|
||||
|
||||
install( FILES icons.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
|
||||
install( FILES icons.knsrc DESTINATION ${CONFIG_INSTALL_DIR} )
|
2
kcontrol/icons/Messages.sh
Normal file
2
kcontrol/icons/Messages.sh
Normal file
|
@ -0,0 +1,2 @@
|
|||
#! /usr/bin/env bash
|
||||
$XGETTEXT *.cpp -o $podir/kcmicons.pot
|
646
kcontrol/icons/icons.cpp
Normal file
646
kcontrol/icons/icons.cpp
Normal file
|
@ -0,0 +1,646 @@
|
|||
/* vi: ts=8 sts=4 sw=4
|
||||
*
|
||||
* This file is part of the KDE project, module kcmdisplay.
|
||||
* Copyright (C) 2000 Geert Jansen <jansen@kde.org>
|
||||
* with minor additions and based on ideas from
|
||||
* Torsten Rahn <torsten@kde.org> *
|
||||
*
|
||||
* You can Freely distribute this program under the GNU General Public
|
||||
* License. See the file "COPYING" for the exact licensing terms.
|
||||
*/
|
||||
|
||||
#include "icons.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#include <QCheckBox>
|
||||
#include <QComboBox>
|
||||
#include <QLabel>
|
||||
#include <QFormLayout>
|
||||
#include <QSlider>
|
||||
#include <QGroupBox>
|
||||
//Added by qt3to4:
|
||||
#include <QPixmap>
|
||||
#include <QGridLayout>
|
||||
#include <QBoxLayout>
|
||||
#include <QVBoxLayout>
|
||||
#include <QListWidget>
|
||||
|
||||
#include <kcolorbutton.h>
|
||||
#include <kconfig.h>
|
||||
#include <kdebug.h>
|
||||
#include <kiconeffect.h>
|
||||
#include <kiconloader.h>
|
||||
#include <klocale.h>
|
||||
#include <kseparator.h>
|
||||
#include <kglobalsettings.h>
|
||||
|
||||
/**** KIconConfig ****/
|
||||
|
||||
KIconConfig::KIconConfig(const KComponentData &inst, QWidget *parent)
|
||||
: KCModule(inst, parent)
|
||||
{
|
||||
|
||||
QGridLayout *top = new QGridLayout(this );
|
||||
top->setColumnStretch(0, 1);
|
||||
top->setColumnStretch(1, 1);
|
||||
|
||||
// Use of Icon at (0,0) - (1, 0)
|
||||
QGroupBox *gbox = new QGroupBox(i18n("Use of Icon"), this);
|
||||
top->addWidget(gbox, 0, 0, 2, 1);
|
||||
QBoxLayout *g_vlay = new QVBoxLayout(gbox);
|
||||
mpUsageList = new QListWidget(gbox);
|
||||
connect(mpUsageList, SIGNAL(currentRowChanged(int)), SLOT(slotUsage(int)));
|
||||
g_vlay->addWidget(mpUsageList);
|
||||
|
||||
KSeparator *sep = new KSeparator( Qt::Horizontal, this );
|
||||
top->addWidget(sep, 1, 1);
|
||||
// Preview at (2,0) - (2, 1)
|
||||
QGridLayout *g_lay = new QGridLayout();
|
||||
g_lay->setSpacing( 0);
|
||||
top->addLayout(g_lay, 2, 0, 1, 2 );
|
||||
g_lay->addItem(new QSpacerItem(0, fontMetrics().lineSpacing()), 0, 0);
|
||||
|
||||
QPushButton *push;
|
||||
|
||||
push = addPreviewIcon(0, i18nc("@label The icon rendered by default", "Default"), this, g_lay);
|
||||
connect(push, SIGNAL(clicked()), SLOT(slotEffectSetup0()));
|
||||
push = addPreviewIcon(1, i18nc("@label The icon rendered as active", "Active"), this, g_lay);
|
||||
connect(push, SIGNAL(clicked()), SLOT(slotEffectSetup1()));
|
||||
push = addPreviewIcon(2, i18nc("@label The icon rendered as disabled", "Disabled"), this, g_lay);
|
||||
connect(push, SIGNAL(clicked()), SLOT(slotEffectSetup2()));
|
||||
|
||||
m_pTab1 = new QWidget(this);
|
||||
m_pTab1->setObjectName( QLatin1String("General Tab" ));
|
||||
top->addWidget(m_pTab1, 0, 1);
|
||||
|
||||
QGridLayout *grid = new QGridLayout(m_pTab1);
|
||||
grid->setColumnStretch(1, 1);
|
||||
grid->setColumnStretch(2, 1);
|
||||
|
||||
|
||||
// Size
|
||||
QLabel *lbl = new QLabel(i18n("Size:"), m_pTab1);
|
||||
lbl->setFixedSize(lbl->sizeHint());
|
||||
grid->addWidget(lbl, 0, 0, Qt::AlignLeft);
|
||||
mpSizeBox = new QComboBox(m_pTab1);
|
||||
connect(mpSizeBox, SIGNAL(activated(int)), SLOT(slotSize(int)));
|
||||
lbl->setBuddy(mpSizeBox);
|
||||
grid->addWidget(mpSizeBox, 0, 1, Qt::AlignLeft);
|
||||
|
||||
mpAnimatedCheck = new QCheckBox(i18n("Animate icons"), m_pTab1);
|
||||
connect(mpAnimatedCheck, SIGNAL(toggled(bool)), SLOT(slotAnimatedCheck(bool)));
|
||||
grid->addWidget(mpAnimatedCheck, 2, 0, 1, 2, Qt::AlignLeft);
|
||||
grid->setRowStretch(3, 10);
|
||||
|
||||
top->activate();
|
||||
|
||||
init();
|
||||
read();
|
||||
apply();
|
||||
preview();
|
||||
}
|
||||
|
||||
KIconConfig::~KIconConfig()
|
||||
{
|
||||
delete mpEffect;
|
||||
}
|
||||
|
||||
QPushButton *KIconConfig::addPreviewIcon(int i, const QString &str, QWidget *parent, QGridLayout *lay)
|
||||
{
|
||||
QLabel *lab = new QLabel(str, parent);
|
||||
lay->addWidget(lab, 1, i, Qt::AlignCenter);
|
||||
mpPreview[i] = new QLabel(parent);
|
||||
mpPreview[i]->setAlignment(Qt::AlignCenter);
|
||||
mpPreview[i]->setMinimumSize(105, 105);
|
||||
lay->addWidget(mpPreview[i], 2, i);
|
||||
QPushButton *push = new QPushButton(i18n("Set Effect..."), parent);
|
||||
lay->addWidget(push, 3, i, Qt::AlignCenter);
|
||||
return push;
|
||||
}
|
||||
|
||||
void KIconConfig::init()
|
||||
{
|
||||
mpLoader = KIconLoader::global();
|
||||
mpConfig = KGlobal::config();
|
||||
mpEffect = new KIconEffect;
|
||||
mUsage = 0;
|
||||
for (int i=0; i<KIconLoader::LastGroup; i++)
|
||||
mbChanged[i] = false;
|
||||
|
||||
// Fill list/checkboxen
|
||||
mpUsageList->addItem(i18n("Desktop"));
|
||||
mpUsageList->addItem(i18n("Toolbar"));
|
||||
mpUsageList->addItem(i18n("Main Toolbar"));
|
||||
mpUsageList->addItem(i18n("Small Icons"));
|
||||
mpUsageList->addItem(i18n("Panel"));
|
||||
mpUsageList->addItem(i18n("Dialogs"));
|
||||
mpUsageList->addItem(i18n("All Icons"));
|
||||
|
||||
// For reading the configuration
|
||||
mGroups += "Desktop";
|
||||
mGroups += "Toolbar";
|
||||
mGroups += "MainToolbar";
|
||||
mGroups += "Small";
|
||||
mGroups += "Panel";
|
||||
mGroups += "Dialog";
|
||||
|
||||
mStates += "Default";
|
||||
mStates += "Active";
|
||||
mStates += "Disabled";
|
||||
}
|
||||
|
||||
void KIconConfig::initDefaults()
|
||||
{
|
||||
mDefaultEffect[0].type = KIconEffect::NoEffect;
|
||||
mDefaultEffect[1].type = KIconEffect::NoEffect;
|
||||
mDefaultEffect[2].type = KIconEffect::ToGray;
|
||||
mDefaultEffect[0].transparent = false;
|
||||
mDefaultEffect[1].transparent = false;
|
||||
mDefaultEffect[2].transparent = true;
|
||||
mDefaultEffect[0].value = 1.0;
|
||||
mDefaultEffect[1].value = 1.0;
|
||||
mDefaultEffect[2].value = 1.0;
|
||||
mDefaultEffect[0].color = QColor(144,128,248);
|
||||
mDefaultEffect[1].color = QColor(169,156,255);
|
||||
mDefaultEffect[2].color = QColor(34,202,0);
|
||||
mDefaultEffect[0].color2 = QColor(0,0,0);
|
||||
mDefaultEffect[1].color2 = QColor(0,0,0);
|
||||
mDefaultEffect[2].color2 = QColor(0,0,0);
|
||||
|
||||
const int defDefSizes[] = { 32, 22, 22, 16, 32, 32 };
|
||||
|
||||
KIconLoader::Group i;
|
||||
QStringList::ConstIterator it;
|
||||
for(it=mGroups.constBegin(), i=KIconLoader::FirstGroup; it!=mGroups.constEnd(); ++it, i++)
|
||||
{
|
||||
mbChanged[i] = true;
|
||||
mbAnimated[i] = false;
|
||||
if (mpLoader->theme())
|
||||
mSizes[i] = mpLoader->theme()->defaultSize(i);
|
||||
else
|
||||
mSizes[i] = defDefSizes[i];
|
||||
|
||||
mEffects[i][0] = mDefaultEffect[0];
|
||||
mEffects[i][1] = mDefaultEffect[1];
|
||||
mEffects[i][2] = mDefaultEffect[2];
|
||||
}
|
||||
// Animate desktop icons by default
|
||||
int group = mGroups.indexOf( "Desktop" );
|
||||
if ( group != -1 )
|
||||
mbAnimated[group] = true;
|
||||
|
||||
// This is the new default in KDE 2.2, in sync with the kiconeffect of kdelibs Nolden 2001/06/11
|
||||
int activeState = mStates.indexOf( "Active" );
|
||||
if ( activeState != -1 )
|
||||
{
|
||||
int group = mGroups.indexOf( "Desktop" );
|
||||
if ( group != -1 )
|
||||
{
|
||||
mEffects[ group ][ activeState ].type = KIconEffect::ToGamma;
|
||||
mEffects[ group ][ activeState ].value = 0.7f;
|
||||
}
|
||||
|
||||
group = mGroups.indexOf( "Panel" );
|
||||
if ( group != -1 )
|
||||
{
|
||||
mEffects[ group ][ activeState ].type = KIconEffect::ToGamma;
|
||||
mEffects[ group ][ activeState ].value = 0.7f;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void KIconConfig::read()
|
||||
{
|
||||
if (mpLoader->theme())
|
||||
{
|
||||
for (KIconLoader::Group i=KIconLoader::FirstGroup; i<KIconLoader::LastGroup; i++)
|
||||
{
|
||||
mAvSizes[i] = mpLoader->theme()->querySizes(i);
|
||||
|
||||
// ### Themes need to be fixed to include available sizes for Dialog icons
|
||||
if (i == KIconLoader::Dialog && mAvSizes[i].isEmpty())
|
||||
{
|
||||
mAvSizes[i] = mAvSizes[KIconLoader::Desktop];
|
||||
}
|
||||
}
|
||||
|
||||
mTheme = mpLoader->theme()->current();
|
||||
mExample = mpLoader->theme()->example();
|
||||
}
|
||||
else
|
||||
{
|
||||
for (KIconLoader::Group i=KIconLoader::FirstGroup; i<KIconLoader::LastGroup; i++)
|
||||
mAvSizes[i] = QList<int>();
|
||||
|
||||
mTheme.clear();
|
||||
mExample.clear();
|
||||
}
|
||||
|
||||
initDefaults();
|
||||
|
||||
int i, j, effect;
|
||||
QStringList::ConstIterator it, it2;
|
||||
for (it=mGroups.constBegin(), i=0; it!=mGroups.constEnd(); ++it, i++)
|
||||
{
|
||||
mbChanged[i] = false;
|
||||
|
||||
KConfigGroup iconGroup(mpConfig, *it + "Icons");
|
||||
mSizes[i] = iconGroup.readEntry("Size", mSizes[i]);
|
||||
mbAnimated[i] = iconGroup.readEntry("Animated", mbAnimated[i]);
|
||||
|
||||
for (it2=mStates.constBegin(), j=0; it2!=mStates.constEnd(); ++it2, j++)
|
||||
{
|
||||
QString tmp = iconGroup.readEntry(*it2 + "Effect", QString());
|
||||
if (tmp == "togray")
|
||||
effect = KIconEffect::ToGray;
|
||||
else if (tmp == "colorize")
|
||||
effect = KIconEffect::Colorize;
|
||||
else if (tmp == "togamma")
|
||||
effect = KIconEffect::ToGamma;
|
||||
else if (tmp == "desaturate")
|
||||
effect = KIconEffect::DeSaturate;
|
||||
else if (tmp == "tomonochrome")
|
||||
effect = KIconEffect::ToMonochrome;
|
||||
else if (tmp == "none")
|
||||
effect = KIconEffect::NoEffect;
|
||||
else continue;
|
||||
mEffects[i][j].type = effect;
|
||||
mEffects[i][j].value = iconGroup.readEntry(*it2 + "Value", 0.0);
|
||||
mEffects[i][j].color = iconGroup.readEntry(*it2 + "Color",QColor());
|
||||
mEffects[i][j].color2 = iconGroup.readEntry(*it2 + "Color2", QColor());
|
||||
mEffects[i][j].transparent = iconGroup.readEntry(*it2 + "SemiTransparent", false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void KIconConfig::apply()
|
||||
{
|
||||
mpUsageList->setCurrentRow(mUsage);
|
||||
|
||||
int delta = 1000, dw, index = -1, size = 0, i;
|
||||
QList<int>::Iterator it;
|
||||
mpSizeBox->clear();
|
||||
if (mUsage < KIconLoader::LastGroup) {
|
||||
for (it=mAvSizes[mUsage].begin(), i=0; it!=mAvSizes[mUsage].end(); ++it, i++)
|
||||
{
|
||||
mpSizeBox->addItem(QString().setNum(*it));
|
||||
dw = abs(mSizes[mUsage] - *it);
|
||||
if (dw < delta)
|
||||
{
|
||||
delta = dw;
|
||||
index = i;
|
||||
size = *it;
|
||||
}
|
||||
|
||||
}
|
||||
if (index != -1)
|
||||
{
|
||||
mpSizeBox->setCurrentIndex(index);
|
||||
mSizes[mUsage] = size; // best or exact match
|
||||
}
|
||||
mpAnimatedCheck->setChecked(mbAnimated[mUsage]);
|
||||
}
|
||||
}
|
||||
|
||||
void KIconConfig::preview(int i)
|
||||
{
|
||||
// Apply effects ourselves because we don't want to sync
|
||||
// the configuration every preview.
|
||||
|
||||
int viewedGroup = (mUsage == KIconLoader::LastGroup) ? KIconLoader::FirstGroup : mUsage;
|
||||
|
||||
QPixmap pm = mpLoader->loadIcon(mExample, KIconLoader::NoGroup, mSizes[viewedGroup]);
|
||||
QImage img = pm.toImage();
|
||||
|
||||
Effect &effect = mEffects[viewedGroup][i];
|
||||
|
||||
img = mpEffect->apply(img, effect.type,
|
||||
effect.value, effect.color, effect.color2, effect.transparent);
|
||||
pm = QPixmap::fromImage(img);
|
||||
mpPreview[i]->setPixmap(pm);
|
||||
}
|
||||
|
||||
void KIconConfig::preview()
|
||||
{
|
||||
preview(0);
|
||||
preview(1);
|
||||
preview(2);
|
||||
}
|
||||
|
||||
void KIconConfig::load()
|
||||
{
|
||||
read();
|
||||
apply();
|
||||
emit changed(false);
|
||||
for (int i=0; i<KIconLoader::LastGroup; i++)
|
||||
mbChanged[i] = false;
|
||||
preview();
|
||||
}
|
||||
|
||||
|
||||
void KIconConfig::save()
|
||||
{
|
||||
int i, j;
|
||||
QStringList::ConstIterator it, it2;
|
||||
for (it=mGroups.constBegin(), i=0; it!=mGroups.constEnd(); ++it, i++)
|
||||
{
|
||||
KConfigGroup cg(mpConfig, *it + "Icons");
|
||||
cg.writeEntry("Size", mSizes[i], KConfig::Normal|KConfig::Global);
|
||||
cg.writeEntry("Animated", mbAnimated[i], KConfig::Normal|KConfig::Global);
|
||||
for (it2=mStates.constBegin(), j=0; it2!=mStates.constEnd(); ++it2, j++)
|
||||
{
|
||||
QString tmp;
|
||||
switch (mEffects[i][j].type)
|
||||
{
|
||||
case KIconEffect::ToGray:
|
||||
tmp = "togray";
|
||||
break;
|
||||
case KIconEffect::ToGamma:
|
||||
tmp = "togamma";
|
||||
break;
|
||||
case KIconEffect::Colorize:
|
||||
tmp = "colorize";
|
||||
break;
|
||||
case KIconEffect::DeSaturate:
|
||||
tmp = "desaturate";
|
||||
break;
|
||||
case KIconEffect::ToMonochrome:
|
||||
tmp = "tomonochrome";
|
||||
break;
|
||||
default:
|
||||
tmp = "none";
|
||||
break;
|
||||
}
|
||||
cg.writeEntry(*it2 + "Effect", tmp, KConfig::Normal|KConfig::Global);
|
||||
cg.writeEntry(*it2 + "Value", mEffects[i][j].value, KConfig::Normal|KConfig::Global);
|
||||
cg.writeEntry(*it2 + "Color", mEffects[i][j].color, KConfig::Normal|KConfig::Global);
|
||||
cg.writeEntry(*it2 + "Color2", mEffects[i][j].color2, KConfig::Normal|KConfig::Global);
|
||||
cg.writeEntry(*it2 + "SemiTransparent", mEffects[i][j].transparent, KConfig::Normal|KConfig::Global);
|
||||
}
|
||||
}
|
||||
|
||||
mpConfig->sync();
|
||||
|
||||
emit changed(false);
|
||||
|
||||
// Emit KIPC change message.
|
||||
for (int i=0; i<KIconLoader::LastGroup; i++)
|
||||
{
|
||||
if (mbChanged[i])
|
||||
{
|
||||
KGlobalSettings::self()->emitChange(KGlobalSettings::IconChanged, i);
|
||||
mbChanged[i] = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void KIconConfig::defaults()
|
||||
{
|
||||
initDefaults();
|
||||
apply();
|
||||
preview();
|
||||
emit changed(true);
|
||||
}
|
||||
|
||||
void KIconConfig::slotUsage(int index)
|
||||
{
|
||||
if (index == -1)
|
||||
return;
|
||||
|
||||
mUsage = index;
|
||||
if ( mUsage == KIconLoader::LastGroup )
|
||||
{
|
||||
mpSizeBox->setEnabled(false);
|
||||
mpAnimatedCheck->setEnabled(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
mpSizeBox->setEnabled(true);
|
||||
mpAnimatedCheck->setEnabled( mUsage == KIconLoader::Desktop );
|
||||
}
|
||||
|
||||
apply();
|
||||
preview();
|
||||
}
|
||||
|
||||
void KIconConfig::EffectSetup(int state)
|
||||
{
|
||||
int viewedGroup = (mUsage == KIconLoader::LastGroup) ? KIconLoader::FirstGroup : mUsage;
|
||||
|
||||
QPixmap pm = mpLoader->loadIcon(mExample, KIconLoader::NoGroup, mSizes[viewedGroup]);
|
||||
QImage img = pm.toImage();
|
||||
|
||||
QString caption;
|
||||
switch (state)
|
||||
{
|
||||
case 0 : caption = i18n("Setup Default Icon Effect"); break;
|
||||
case 1 : caption = i18n("Setup Active Icon Effect"); break;
|
||||
case 2 : caption = i18n("Setup Disabled Icon Effect"); break;
|
||||
}
|
||||
|
||||
KIconEffectSetupDialog dlg(mEffects[viewedGroup][state], mDefaultEffect[state], caption, img, this);
|
||||
|
||||
if (dlg.exec() == QDialog::Accepted)
|
||||
{
|
||||
if (mUsage == KIconLoader::LastGroup) {
|
||||
for (int i=0; i<KIconLoader::LastGroup; i++)
|
||||
mEffects[i][state] = dlg.effect();
|
||||
} else {
|
||||
mEffects[mUsage][state] = dlg.effect();
|
||||
}
|
||||
|
||||
// AK - can this call be moved therefore removing
|
||||
// code duplication?
|
||||
|
||||
emit changed(true);
|
||||
|
||||
if (mUsage == KIconLoader::LastGroup) {
|
||||
for (int i=0; i<KIconLoader::LastGroup; i++)
|
||||
mbChanged[i] = true;
|
||||
} else {
|
||||
mbChanged[mUsage] = true;
|
||||
}
|
||||
}
|
||||
preview(state);
|
||||
}
|
||||
|
||||
void KIconConfig::slotSize(int index)
|
||||
{
|
||||
Q_ASSERT(mUsage < KIconLoader::LastGroup);
|
||||
mSizes[mUsage] = mAvSizes[mUsage][index];
|
||||
preview();
|
||||
emit changed(true);
|
||||
mbChanged[mUsage] = true;
|
||||
}
|
||||
|
||||
void KIconConfig::slotAnimatedCheck(bool check)
|
||||
{
|
||||
Q_ASSERT(mUsage < KIconLoader::LastGroup);
|
||||
if (mbAnimated[mUsage] != check)
|
||||
{
|
||||
mbAnimated[mUsage] = check;
|
||||
emit changed(true);
|
||||
mbChanged[mUsage] = true;
|
||||
}
|
||||
}
|
||||
|
||||
KIconEffectSetupDialog::KIconEffectSetupDialog(const Effect &effect,
|
||||
const Effect &defaultEffect,
|
||||
const QString &caption, const QImage &image,
|
||||
QWidget *parent, char *name)
|
||||
: KDialog( parent ),
|
||||
mEffect(effect),
|
||||
mDefaultEffect(defaultEffect),
|
||||
mExample(image)
|
||||
{
|
||||
setObjectName( name );
|
||||
setModal( true );
|
||||
setCaption( caption );
|
||||
setButtons( Default|Ok|Cancel );
|
||||
|
||||
mpEffect = new KIconEffect;
|
||||
|
||||
QLabel *lbl;
|
||||
QGroupBox *frame;
|
||||
QGridLayout *grid;
|
||||
|
||||
QWidget *page = new QWidget(this);
|
||||
setMainWidget(page);
|
||||
|
||||
QGridLayout *top = new QGridLayout(page);
|
||||
top->setMargin(0);
|
||||
top->setColumnStretch(0,1);
|
||||
top->setColumnStretch(1,2);
|
||||
top->setRowStretch(1,1);
|
||||
|
||||
lbl = new QLabel(i18n("&Effect:"), page);
|
||||
top->addWidget(lbl, 0, 0, Qt::AlignLeft);
|
||||
mpEffectBox = new QListWidget(page);
|
||||
mpEffectBox->addItem(i18n("No Effect"));
|
||||
mpEffectBox->addItem(i18n("To Gray"));
|
||||
mpEffectBox->addItem(i18n("Colorize"));
|
||||
mpEffectBox->addItem(i18n("Gamma"));
|
||||
mpEffectBox->addItem(i18n("Desaturate"));
|
||||
mpEffectBox->addItem(i18n("To Monochrome"));
|
||||
connect(mpEffectBox, SIGNAL(currentRowChanged(int)), SLOT(slotEffectType(int)));
|
||||
top->addWidget(mpEffectBox, 1, 0, 2, 1, Qt::AlignLeft);
|
||||
lbl->setBuddy(mpEffectBox);
|
||||
|
||||
mpSTCheck = new QCheckBox(i18n("&Semi-transparent"), page);
|
||||
connect(mpSTCheck, SIGNAL(toggled(bool)), SLOT(slotSTCheck(bool)));
|
||||
top->addWidget(mpSTCheck, 3, 0, Qt::AlignLeft);
|
||||
|
||||
frame = new QGroupBox(i18n("Preview"), page);
|
||||
top->addWidget(frame, 0, 1, 2, 1);
|
||||
grid = new QGridLayout(frame);
|
||||
grid->addItem(new QSpacerItem(0, fontMetrics().lineSpacing()), 0, 0);
|
||||
grid->setRowStretch(1, 1);
|
||||
|
||||
mpPreview = new QLabel(frame);
|
||||
mpPreview->setAlignment(Qt::AlignCenter);
|
||||
mpPreview->setMinimumSize(105, 105);
|
||||
grid->addWidget(mpPreview, 1, 0);
|
||||
|
||||
mpEffectGroup = new QGroupBox(i18n("Effect Parameters"), page);
|
||||
top->addWidget(mpEffectGroup, 2, 1, 2, 1);
|
||||
QFormLayout *form = new QFormLayout(mpEffectGroup);
|
||||
|
||||
mpEffectSlider = new QSlider(Qt::Horizontal, mpEffectGroup);
|
||||
mpEffectSlider->setMinimum(0);
|
||||
mpEffectSlider->setMaximum(100);
|
||||
mpEffectSlider->setPageStep(5);
|
||||
connect(mpEffectSlider, SIGNAL(valueChanged(int)), SLOT(slotEffectValue(int)));
|
||||
form->addRow(i18n("&Amount:"), mpEffectSlider);
|
||||
mpEffectLabel = static_cast<QLabel *>(form->labelForField(mpEffectSlider));
|
||||
|
||||
mpEColButton = new KColorButton(mpEffectGroup);
|
||||
connect(mpEColButton, SIGNAL(changed(const QColor &)),
|
||||
SLOT(slotEffectColor(const QColor &)));
|
||||
form->addRow(i18n("Co&lor:"), mpEColButton);
|
||||
mpEffectColor = static_cast<QLabel *>(form->labelForField(mpEColButton));
|
||||
|
||||
mpECol2Button = new KColorButton(mpEffectGroup);
|
||||
connect(mpECol2Button, SIGNAL(changed(const QColor &)),
|
||||
SLOT(slotEffectColor2(const QColor &)));
|
||||
form->addRow(i18n("&Second color:"), mpECol2Button);
|
||||
mpEffectColor2 = static_cast<QLabel *>(form->labelForField(mpECol2Button));
|
||||
|
||||
init();
|
||||
preview();
|
||||
}
|
||||
|
||||
KIconEffectSetupDialog::~KIconEffectSetupDialog()
|
||||
{
|
||||
delete mpEffect;
|
||||
}
|
||||
|
||||
void KIconEffectSetupDialog::init()
|
||||
{
|
||||
mpEffectBox->setCurrentRow(mEffect.type);
|
||||
mpEffectSlider->setEnabled(mEffect.type != KIconEffect::NoEffect);
|
||||
mpEColButton->setEnabled(mEffect.type == KIconEffect::Colorize || mEffect.type == KIconEffect::ToMonochrome);
|
||||
mpECol2Button->setEnabled(mEffect.type == KIconEffect::ToMonochrome);
|
||||
mpEffectSlider->setValue((int) (100.0 * mEffect.value + 0.5));
|
||||
mpEColButton->setColor(mEffect.color);
|
||||
mpECol2Button->setColor(mEffect.color2);
|
||||
mpSTCheck->setChecked(mEffect.transparent);
|
||||
}
|
||||
|
||||
void KIconEffectSetupDialog::slotEffectValue(int value)
|
||||
{
|
||||
mEffect.value = 0.01 * value;
|
||||
preview();
|
||||
}
|
||||
|
||||
void KIconEffectSetupDialog::slotEffectColor(const QColor &col)
|
||||
{
|
||||
mEffect.color = col;
|
||||
preview();
|
||||
}
|
||||
|
||||
void KIconEffectSetupDialog::slotEffectColor2(const QColor &col)
|
||||
{
|
||||
mEffect.color2 = col;
|
||||
preview();
|
||||
}
|
||||
|
||||
void KIconEffectSetupDialog::slotEffectType(int type)
|
||||
{
|
||||
if (type == -1)
|
||||
return;
|
||||
|
||||
mEffect.type = type;
|
||||
mpEffectGroup->setEnabled(mEffect.type != KIconEffect::NoEffect);
|
||||
mpEffectSlider->setEnabled(mEffect.type != KIconEffect::NoEffect);
|
||||
mpEffectColor->setEnabled(mEffect.type == KIconEffect::Colorize || mEffect.type == KIconEffect::ToMonochrome);
|
||||
mpEColButton->setEnabled(mEffect.type == KIconEffect::Colorize || mEffect.type == KIconEffect::ToMonochrome);
|
||||
mpEffectColor2->setEnabled(mEffect.type == KIconEffect::ToMonochrome);
|
||||
mpECol2Button->setEnabled(mEffect.type == KIconEffect::ToMonochrome);
|
||||
preview();
|
||||
}
|
||||
|
||||
void KIconEffectSetupDialog::slotSTCheck(bool b)
|
||||
{
|
||||
mEffect.transparent = b;
|
||||
preview();
|
||||
}
|
||||
|
||||
void KIconEffectSetupDialog::slotDefault()
|
||||
{
|
||||
mEffect = mDefaultEffect;
|
||||
init();
|
||||
preview();
|
||||
}
|
||||
|
||||
void KIconEffectSetupDialog::preview()
|
||||
{
|
||||
QPixmap pm;
|
||||
QImage img = mExample.copy();
|
||||
img = mpEffect->apply(img, mEffect.type,
|
||||
mEffect.value, mEffect.color, mEffect.color2, mEffect.transparent);
|
||||
pm = QPixmap::fromImage(img);
|
||||
mpPreview->setPixmap(pm);
|
||||
}
|
||||
|
||||
#include "icons.moc"
|
262
kcontrol/icons/icons.desktop
Normal file
262
kcontrol/icons/icons.desktop
Normal file
|
@ -0,0 +1,262 @@
|
|||
[Desktop Entry]
|
||||
Exec=kcmshell4 icons
|
||||
Icon=preferences-desktop-icons
|
||||
Type=Service
|
||||
X-KDE-ServiceTypes=KCModule
|
||||
X-DocPath=kcontrol/icons/index.html
|
||||
|
||||
X-KDE-Library=kcm_icons
|
||||
X-KDE-ParentApp=kcontrol
|
||||
|
||||
X-KDE-System-Settings-Parent-Category=application-appearance
|
||||
X-KDE-Weight=70
|
||||
|
||||
Name=Icons
|
||||
Name[af]=Ikone
|
||||
Name[ar]=أيقونات
|
||||
Name[as]=আইকন
|
||||
Name[ast]=Iconos
|
||||
Name[be]=Значкі
|
||||
Name[be@latin]=Ikony
|
||||
Name[bg]=Икони
|
||||
Name[bn]=আইকন
|
||||
Name[bn_IN]=আইকন
|
||||
Name[br]=Arlunioù
|
||||
Name[bs]=Ikone
|
||||
Name[ca]=Icones
|
||||
Name[ca@valencia]=Icones
|
||||
Name[cs]=Ikony
|
||||
Name[csb]=Ikònë
|
||||
Name[cy]=Eicon
|
||||
Name[da]=Ikoner
|
||||
Name[de]=Symbole
|
||||
Name[el]=Εικονίδια
|
||||
Name[en_GB]=Icons
|
||||
Name[eo]=Piktogramoj
|
||||
Name[es]=Iconos
|
||||
Name[et]=Ikoonid
|
||||
Name[eu]=Ikonoak
|
||||
Name[fa]=شمایلها
|
||||
Name[fi]=Kuvakkeet
|
||||
Name[fr]=Icônes
|
||||
Name[fy]=Byldkaikes
|
||||
Name[ga]=Deilbhíní
|
||||
Name[gl]=Iconas
|
||||
Name[gu]=ચિહ્નો
|
||||
Name[he]=סמלים
|
||||
Name[hi]=प्रतीक
|
||||
Name[hne]=चिनहा
|
||||
Name[hr]=Ikone
|
||||
Name[hsb]=Piktogramy
|
||||
Name[hu]=Ikonok
|
||||
Name[ia]=Icones
|
||||
Name[id]=Ikon
|
||||
Name[is]=Táknmyndir
|
||||
Name[it]=Icone
|
||||
Name[ja]=アイコン
|
||||
Name[ka]=ხატულები
|
||||
Name[kk]=Таңбашалар
|
||||
Name[km]=រូបតំណាង
|
||||
Name[kn]=ಚಿಹ್ನೆಗಳು
|
||||
Name[ko]=아이콘
|
||||
Name[ku]=Îkon
|
||||
Name[lt]=Ženkliukai
|
||||
Name[lv]=Ikonas
|
||||
Name[mai]=प्रतीक
|
||||
Name[mk]=Икони
|
||||
Name[ml]=ചിഹ്നങ്ങള്
|
||||
Name[mr]=चिन्ह
|
||||
Name[ms]=Ikon
|
||||
Name[nb]=Ikoner
|
||||
Name[nds]=Lüttbiller
|
||||
Name[ne]=प्रतिमा
|
||||
Name[nl]=Pictogrammen
|
||||
Name[nn]=Ikon
|
||||
Name[oc]=Icònas
|
||||
Name[or]=ଚିତ୍ର ସଂକେତଗୁଡ଼ିକ
|
||||
Name[pa]=ਆਈਕਾਨ
|
||||
Name[pl]=Ikony
|
||||
Name[pt]=Ícones
|
||||
Name[pt_BR]=Ícones
|
||||
Name[ro]=Pictograme
|
||||
Name[ru]=Значки
|
||||
Name[se]=Govažat
|
||||
Name[si]=අයිකන
|
||||
Name[sk]=Ikony
|
||||
Name[sl]=Ikone
|
||||
Name[sr]=Иконе
|
||||
Name[sr@ijekavian]=Иконе
|
||||
Name[sr@ijekavianlatin]=Ikone
|
||||
Name[sr@latin]=Ikone
|
||||
Name[sv]=Ikoner
|
||||
Name[ta]=சின்னங்கள்
|
||||
Name[te]=ప్రతిమలు
|
||||
Name[tg]=Нишонаҳо
|
||||
Name[th]=ไอคอน
|
||||
Name[tr]=Simgeler
|
||||
Name[ug]=سىنبەلگىلەر
|
||||
Name[uk]=Піктограми
|
||||
Name[uz]=Nishonchalar
|
||||
Name[uz@cyrillic]=Нишончалар
|
||||
Name[vi]=Biểu tượng
|
||||
Name[wa]=Imådjetes
|
||||
Name[xh]=Imphawu zemmifanekiso
|
||||
Name[x-test]=xxIconsxx
|
||||
Name[zh_CN]=图标
|
||||
Name[zh_TW]=圖示
|
||||
|
||||
Comment=Customize KDE Icons
|
||||
Comment[af]=Pasmaak Kde Ikoone
|
||||
Comment[ar]=خصّص أيقونات كدي
|
||||
Comment[ast]=Personaliza los iconos de KDE
|
||||
Comment[be]=Настаўленні значак KDE
|
||||
Comment[be@latin]=Naładź ikony KDE
|
||||
Comment[bg]=Настройване и избор на тема с икони
|
||||
Comment[bn]=কে.ডি.ই. আইকন বেছে নিন
|
||||
Comment[bn_IN]=KDE আইকনগুলি নিজস্ব পছন্দ অনুসারে নির্ধারণ করুন
|
||||
Comment[br]=Neuziañ arlunioù KDE
|
||||
Comment[bs]=Prilagodite ikone u KDE‑u
|
||||
Comment[ca]=Configura les icones del KDE
|
||||
Comment[ca@valencia]=Configura les icones del KDE
|
||||
Comment[cs]=Přizpůsobení ikon KDE
|
||||
Comment[csb]=Dopasëjë ikònë KDE
|
||||
Comment[cy]=Addasu Eiconau KDE
|
||||
Comment[da]=Brugerdefinér KDE-ikoner
|
||||
Comment[de]=KDE-Symbole einrichten
|
||||
Comment[el]=Προσαρμογή των εικονιδίων του KDE
|
||||
Comment[en_GB]=Customise KDE Icons
|
||||
Comment[eo]=Tajlori la piktogramojn de KDE
|
||||
Comment[es]=Personalizar los iconos de KDE
|
||||
Comment[et]=KDE ikoonide kohandamine
|
||||
Comment[eu]=KDE ikonoak pertsonalizatzea
|
||||
Comment[fa]=سفارشیسازی شمایلهای KDE
|
||||
Comment[fi]=KDE:n kuvakkeiden asetukset
|
||||
Comment[fr]=Personnalisation des icônes de KDE
|
||||
Comment[fy]=KDE-byldkaikes oanpasse
|
||||
Comment[ga]=Saincheap Deilbhíní KDE
|
||||
Comment[gl]=Personaliza as iconas de KDE
|
||||
Comment[gu]=KDE ચિહ્નોમાં ફેરફાર કરો
|
||||
Comment[he]=שינוי הגדרות הסמלים של KDE
|
||||
Comment[hi]=केडीई प्रतीक मनपसंद बनाएँ
|
||||
Comment[hne]=केडीई चिनहा मनमाफिक बनाव
|
||||
Comment[hr]=Prilagođavanje KDE ikona
|
||||
Comment[hsb]=KDE-piktogramy připrawić
|
||||
Comment[hu]=A KDE ikonok testreszabása
|
||||
Comment[ia]=Personalisa icones de KDE
|
||||
Comment[id]=Sesuaikan Ikon KDE
|
||||
Comment[is]=Stilla táknmyndir KDE
|
||||
Comment[it]=Personalizza le icone di KDE
|
||||
Comment[ja]=KDE アイコンをカスタマイズ
|
||||
Comment[ka]=KDE–ს ხატულების კონფიგურაცია
|
||||
Comment[kk]=KDE таңбашаларын баптау
|
||||
Comment[km]=ប្ដូររូបតំណាងរបស់ KDE តាមបំណង
|
||||
Comment[kn]=ಕೆಡಿಇ ಚಿಹ್ನೆಗಳನ್ನು ಗ್ರಾಹಕೀಯಗೊಳಿಸು
|
||||
Comment[ko]=KDE 아이콘 사용자 정의
|
||||
Comment[ku]=Îkonên KDE'yê takekes bike
|
||||
Comment[lt]=KDE ženkliukų derinimas
|
||||
Comment[lv]=Pielāgot KDE ikonas
|
||||
Comment[mai]=केडीई प्रतीक मनपसिन्न बनाबू
|
||||
Comment[mk]=Прилагоди ги иконите на KDE
|
||||
Comment[ml]=കെഡിഇ ചിഹ്നങ്ങള് സജ്ജീകരിയ്ക്കുക
|
||||
Comment[mr]=केडीई चिन्हे ऐच्छिक करा
|
||||
Comment[ms]=Ikon KDE Langganan
|
||||
Comment[nb]=Tilpass ikonene i KDE
|
||||
Comment[nds]=Lüttbiller för KDE utsöken
|
||||
Comment[ne]=केडीई प्रतिमा अनुकूलन गर्नुहोस्
|
||||
Comment[nl]=KDE-pictogrammen aanpassen
|
||||
Comment[nn]=Tilpass KDE-ikon
|
||||
Comment[or]=KDE ଚିତ୍ରସଂକେତଗୁଡ଼ିକୁ ପସନ୍ଦମୁତାବକ କରନ୍ତୁ
|
||||
Comment[pa]=KDE ਆਈਕਾਨ ਪਸੰਦ
|
||||
Comment[pl]=Własne ikony KDE
|
||||
Comment[pt]=Alterar os Ícones do KDE
|
||||
Comment[pt_BR]=Personaliza os ícones do KDE
|
||||
Comment[ro]=Personalizează pictogramele KDE
|
||||
Comment[ru]=Настройка значков KDE
|
||||
Comment[se]=Heivet KDE-govažiid
|
||||
Comment[si]=KDE අයිකන රිසිසේ සැකසීම
|
||||
Comment[sk]=Prispôsobenie ikon v KDE
|
||||
Comment[sl]=Prilagodite ikone za KDE
|
||||
Comment[sr]=Прилагодите иконе у КДЕ‑у
|
||||
Comment[sr@ijekavian]=Прилагодите иконе у КДЕ‑у
|
||||
Comment[sr@ijekavianlatin]=Prilagodite ikone u KDE‑u
|
||||
Comment[sr@latin]=Prilagodite ikone u KDE‑u
|
||||
Comment[sv]=Anpassa KDE:s ikoner
|
||||
Comment[ta]=கேபசூ ஓவங்களை வடிவமைக்க
|
||||
Comment[te]=KDE ప్రతిమలను ఇష్టానుసారంవుంచుము
|
||||
Comment[tg]=Танзимоти нишонаҳои KDE
|
||||
Comment[th]=กำหนดไอคอนของ KDE
|
||||
Comment[tr]=KDE Simgelerini Özelleştir
|
||||
Comment[ug]=ئۆزلەشتۈرگەن KDE سىنبەلگىلەر
|
||||
Comment[uk]=Налаштування піктограм KDE
|
||||
Comment[uz]=KDE nishonchalarini moslash
|
||||
Comment[uz@cyrillic]=KDE нишончаларини мослаш
|
||||
Comment[vi]=Tuỳ chỉnh các biểu tượng của KDE
|
||||
Comment[wa]=Mete les imådjetes KDE a vosse môde
|
||||
Comment[xh]=Yenza Imphawu zomfanekiso ze KDE Ngokwemfuneko
|
||||
Comment[x-test]=xxCustomize KDE Iconsxx
|
||||
Comment[zh_CN]=自定义 KDE 图标
|
||||
Comment[zh_TW]=自訂 KDE 圖示
|
||||
|
||||
X-KDE-Keywords=icons,effects,size,hicolor,locolor
|
||||
X-KDE-Keywords[ar]=أيقونات,مؤثرات,حجم,ألوان داكنة,ألوان خافتة
|
||||
X-KDE-Keywords[bg]=icons,effects,size,hicolor,locolor,икони,ефекти,размер
|
||||
X-KDE-Keywords[bn]=icons,effects,size,hicolor,locolor
|
||||
X-KDE-Keywords[bs]=icons,effects,size,hicolor,locolor,ikone,efekti,veličina,boje
|
||||
X-KDE-Keywords[ca]=icones,efectes,mida,color alt,color baix
|
||||
X-KDE-Keywords[ca@valencia]=icones,efectes,mida,color alt,color baix
|
||||
X-KDE-Keywords[cs]=ikony,efekty,velikost,hicolor,locolor
|
||||
X-KDE-Keywords[da]=ikoner,effekter,størrelse,hicolor,locolor
|
||||
X-KDE-Keywords[de]=Symbole,Icons,Effekte,Größe,16-Bit-Farben,8-Bit-Farben
|
||||
X-KDE-Keywords[el]=εικονίδια,εφέ,μέγεθος,hicolor,locolor
|
||||
X-KDE-Keywords[en_GB]=icons,effects,size,hicolor,locolor
|
||||
X-KDE-Keywords[eo]=piktogramoj,efektoj,grando,hicolor,locolor
|
||||
X-KDE-Keywords[es]=iconos,efectos,tamaño,hicolor,locolor
|
||||
X-KDE-Keywords[et]=ikoonid,efektid,suurus,hicolor,locolor
|
||||
X-KDE-Keywords[eu]=ikonoak,efektuak,tamaina,hicolor,locolor
|
||||
X-KDE-Keywords[fa]=icons,effects,size,hicolor,locolor
|
||||
X-KDE-Keywords[fi]=kuvakkeet,tehosteet,koko,hicolor,locolor
|
||||
X-KDE-Keywords[fr]=icônes, effets, taille, hicolor, locolor
|
||||
X-KDE-Keywords[ga]=deilbhíní,maisíochtaí,méid,ard-dath,ísealdath
|
||||
X-KDE-Keywords[gl]=iconas, efectos, tamaño, hicolor, locolor
|
||||
X-KDE-Keywords[gu]=ચિહ્નો,અસરો,માપ,ઉચ્ચરંગ,નીચરંગ
|
||||
X-KDE-Keywords[he]=סמלים,אפקטים,icons,effects,size,hicolor,locolor
|
||||
X-KDE-Keywords[hi]=प्रतीक, प्रभाव, आकार, hicolor, locolor
|
||||
X-KDE-Keywords[hu]=ikonok,effektusok,méret,hicolor,locolor
|
||||
X-KDE-Keywords[ia]=icones,effectos,grandor,alte color,basse color
|
||||
X-KDE-Keywords[id]=ikon,efek,ukuran,warna tinggi,warna rendah
|
||||
X-KDE-Keywords[is]=táknmynd,sjónhverfingar,brellur,stærð,hicolor,locolor
|
||||
X-KDE-Keywords[it]=icone,effetti,dimensione,molti colori,pochi colori
|
||||
X-KDE-Keywords[ja]=icons,effects,size,hicolor,locolor
|
||||
X-KDE-Keywords[kk]=icons,effects,size,hicolor,locolor
|
||||
X-KDE-Keywords[km]=រូបតំណាង បែបផែន ទំហំ ពណ៌ខ្ពស់ ពណ៌ទាប
|
||||
X-KDE-Keywords[ko]=icons,effects,size,hicolor,locolor,아이콘,효과,크기,색상
|
||||
X-KDE-Keywords[lv]=ikonas,efekti,izmērs,krāsa
|
||||
X-KDE-Keywords[mr]=चिन्ह, परिणाम, आकार, हाय कलर, लो कलर
|
||||
X-KDE-Keywords[nb]=ikoner,effekter,størrelse,fargesterk,fargesvak
|
||||
X-KDE-Keywords[nds]=Lüttbiller,Effekten,Grött,Hoochklöör,HiColor,LoColor
|
||||
X-KDE-Keywords[nl]=pictoogrammen,effecten,grootte,hi-kleur,lo-kleur
|
||||
X-KDE-Keywords[nn]=ikon,effektar,storleik,hicolor,locolor
|
||||
X-KDE-Keywords[pa]=ਆਈਕਾਨ,ਪ੍ਰਭਾਵ,ਪਰਭਾਵ,ਆਕਾਰ,ਵੱਧ-ਰੰਗ,ਘੱਟਰੰਗ
|
||||
X-KDE-Keywords[pl]=ikony,efekty,rozmiar,hicolor,locolor
|
||||
X-KDE-Keywords[pt]=ícones,efeitos,tamanho,muitas cores,poucas cores
|
||||
X-KDE-Keywords[pt_BR]=ícones,efeitos,tamanho,muitas cores,poucas cores
|
||||
X-KDE-Keywords[ro]=pictograme,efecte,mărime,hicolor,locolor
|
||||
X-KDE-Keywords[ru]=icons,effects,size,hicolor,locolor,значки,иконки,эффекты,размер,цвет
|
||||
X-KDE-Keywords[sk]=ikony,efekty,veľkosť,hicolor,locolor
|
||||
X-KDE-Keywords[sl]=ikone,učinki,velikost,barve,barva
|
||||
X-KDE-Keywords[sr]=icons,effects,size,hicolor,locolor,иконе,ефекти,величина,боја
|
||||
X-KDE-Keywords[sr@ijekavian]=icons,effects,size,hicolor,locolor,иконе,ефекти,величина,боја
|
||||
X-KDE-Keywords[sr@ijekavianlatin]=icons,effects,size,hicolor,locolor,ikone,efekti,veličina,boja
|
||||
X-KDE-Keywords[sr@latin]=icons,effects,size,hicolor,locolor,ikone,efekti,veličina,boja
|
||||
X-KDE-Keywords[sv]=ikoner,effekter,storlek,hicolor,locolor
|
||||
X-KDE-Keywords[tg]=нишонаҳо,таъсирҳо,андоза,ранги баланд,ранги паст
|
||||
X-KDE-Keywords[tr]=simgeler,efektler,boyut,yüksekrenk,düşükrenk
|
||||
X-KDE-Keywords[ug]=سىنبەلگىلەر، ئۈنۈملەر، چوڭلۇق، hicolor، locolor
|
||||
X-KDE-Keywords[uk]=icons;effects;size;hicolor;locolor;піктограми;значки;іконки;ефект;ефекти;розмір;колір
|
||||
X-KDE-Keywords[vi]=biểu tượng,hiệu ứng,cỡ,nhiều màu, ít màu, icons,effects,size,hicolor,locolor
|
||||
X-KDE-Keywords[wa]=imådjetes,efets,grandeu,grandeur,coleur
|
||||
X-KDE-Keywords[x-test]=xxicons,effects,size,hicolor,locolorxx
|
||||
X-KDE-Keywords[zh_CN]=icons,effects,size,hicolor,locolor,图标,效果,特效,大小,颜色
|
||||
X-KDE-Keywords[zh_TW]=icons,effects,size,hicolor,locolor
|
||||
|
||||
Categories=Qt;KDE;X-KDE-settings-looknfeel;
|
145
kcontrol/icons/icons.h
Normal file
145
kcontrol/icons/icons.h
Normal file
|
@ -0,0 +1,145 @@
|
|||
/* vi: ts=8 sts=4 sw=4
|
||||
*
|
||||
* This file is part of the KDE project, module kcmdisplay.
|
||||
* Copyright (C) 2000 Geert Jansen <jansen@kde.org>
|
||||
* with minor additions and based on ideas from
|
||||
* Torsten Rahn <torsten@kde.org>
|
||||
*
|
||||
* You can Freely distribute this program under the GNU General Public
|
||||
* License. See the file "COPYING" for the exact licensing terms.
|
||||
*/
|
||||
|
||||
#ifndef __icons_h__
|
||||
#define __icons_h__
|
||||
|
||||
#include <QColor>
|
||||
#include <QImage>
|
||||
|
||||
#include <kcmodule.h>
|
||||
#include <kdialog.h>
|
||||
#include <kconfig.h>
|
||||
#include <KSharedConfig>
|
||||
|
||||
class QCheckBox;
|
||||
class QColor;
|
||||
class QComboBox;
|
||||
class QGridLayout;
|
||||
class QGroupBox;
|
||||
class QLabel;
|
||||
class QListWidget;
|
||||
class QPushButton;
|
||||
class QSlider;
|
||||
class QTabWidget;
|
||||
class QWidget;
|
||||
|
||||
class KColorButton;
|
||||
class KIconEffect;
|
||||
class KIconLoader;
|
||||
|
||||
struct Effect
|
||||
{
|
||||
int type;
|
||||
float value;
|
||||
QColor color;
|
||||
QColor color2;
|
||||
bool transparent;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* The General Icons tab in kcontrol.
|
||||
*/
|
||||
class KIconConfig: public KCModule
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
KIconConfig(const KComponentData &inst, QWidget *parent);
|
||||
~KIconConfig();
|
||||
|
||||
virtual void load();
|
||||
virtual void save();
|
||||
virtual void defaults();
|
||||
void preview();
|
||||
|
||||
private Q_SLOTS:
|
||||
void slotEffectSetup0() { EffectSetup(0); }
|
||||
void slotEffectSetup1() { EffectSetup(1); }
|
||||
void slotEffectSetup2() { EffectSetup(2); }
|
||||
|
||||
void slotUsage(int index);
|
||||
void slotSize(int index);
|
||||
void slotAnimatedCheck(bool check);
|
||||
|
||||
private:
|
||||
void preview(int i);
|
||||
void EffectSetup(int state);
|
||||
QPushButton *addPreviewIcon(int i, const QString &str, QWidget *parent, QGridLayout *lay);
|
||||
void init();
|
||||
void initDefaults();
|
||||
void read();
|
||||
void apply();
|
||||
|
||||
|
||||
bool mbChanged[6], mbAnimated[6];
|
||||
int mSizes[6];
|
||||
QList<int> mAvSizes[6];
|
||||
|
||||
Effect mEffects[6][3];
|
||||
Effect mDefaultEffect[3];
|
||||
|
||||
int mUsage;
|
||||
QString mTheme, mExample;
|
||||
QStringList mGroups, mStates;
|
||||
|
||||
KIconEffect *mpEffect;
|
||||
KIconLoader *mpLoader;
|
||||
KSharedConfigPtr mpConfig;
|
||||
|
||||
QLabel *mpPreview[3];
|
||||
|
||||
QListWidget *mpUsageList;
|
||||
QComboBox *mpSizeBox;
|
||||
QCheckBox *wordWrapCB, *underlineCB, *mpAnimatedCheck;
|
||||
QTabWidget *m_pTabWidget;
|
||||
QWidget *m_pTab1;
|
||||
};
|
||||
|
||||
class KIconEffectSetupDialog: public KDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
KIconEffectSetupDialog(const Effect &, const Effect &,
|
||||
const QString &, const QImage &,
|
||||
QWidget *parent=0L, char *name=0L);
|
||||
~KIconEffectSetupDialog();
|
||||
Effect effect() { return mEffect; }
|
||||
|
||||
protected:
|
||||
void preview();
|
||||
void init();
|
||||
|
||||
protected Q_SLOTS:
|
||||
void slotEffectValue(int value);
|
||||
void slotEffectColor(const QColor &col);
|
||||
void slotEffectColor2(const QColor &col);
|
||||
void slotEffectType(int type);
|
||||
void slotSTCheck(bool b);
|
||||
void slotDefault();
|
||||
|
||||
private:
|
||||
KIconEffect *mpEffect;
|
||||
QListWidget *mpEffectBox;
|
||||
QCheckBox *mpSTCheck;
|
||||
QSlider *mpEffectSlider;
|
||||
KColorButton *mpEColButton;
|
||||
KColorButton *mpECol2Button;
|
||||
Effect mEffect;
|
||||
Effect mDefaultEffect;
|
||||
QImage mExample;
|
||||
QGroupBox *mpEffectGroup;
|
||||
QLabel *mpPreview, *mpEffectLabel, *mpEffectColor, *mpEffectColor2;
|
||||
};
|
||||
|
||||
#endif
|
5
kcontrol/icons/icons.knsrc
Normal file
5
kcontrol/icons/icons.knsrc
Normal file
|
@ -0,0 +1,5 @@
|
|||
[KNewStuff3]
|
||||
ProvidersUrl=http://download.kde.org/ocs/providers.xml
|
||||
Categories=KDE Icon Theme
|
||||
StandardResource=icon
|
||||
Uncompress=true
|
511
kcontrol/icons/iconthemes.cpp
Normal file
511
kcontrol/icons/iconthemes.cpp
Normal file
|
@ -0,0 +1,511 @@
|
|||
/**
|
||||
* Copyright (c) 2000 Antonio Larrosa <larrosa@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 "iconthemes.h"
|
||||
|
||||
#include <config-runtime.h>
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include <QFileInfo>
|
||||
#include <QLabel>
|
||||
//Added by qt3to4:
|
||||
#include <QPixmap>
|
||||
#include <QVBoxLayout>
|
||||
#include <QFrame>
|
||||
#include <QHBoxLayout>
|
||||
#include <QTreeWidget>
|
||||
#include <QPainter>
|
||||
#include <QSvgRenderer>
|
||||
|
||||
#include <kdebug.h>
|
||||
#include <kapplication.h>
|
||||
#include <kbuildsycocaprogressdialog.h>
|
||||
#include <klocale.h>
|
||||
#include <kshareddatacache.h>
|
||||
#include <kicon.h>
|
||||
#include <kpushbutton.h>
|
||||
#include <kstandarddirs.h>
|
||||
#include <kservice.h>
|
||||
#include <kconfig.h>
|
||||
#include <knewstuff3/downloaddialog.h>
|
||||
|
||||
#undef Unsorted
|
||||
|
||||
#include <kurlrequesterdialog.h>
|
||||
#include <kmessagebox.h>
|
||||
#include <kiconloader.h>
|
||||
#include <k3icon_p.h> // this private header is only installed for us!
|
||||
#include <kprogressdialog.h>
|
||||
#include <kio/job.h>
|
||||
#include <kio/deletejob.h>
|
||||
#include <kio/netaccess.h>
|
||||
#include <ktar.h>
|
||||
#include <kglobalsettings.h>
|
||||
|
||||
static const int ThemeNameRole = Qt::UserRole + 1;
|
||||
|
||||
IconThemesConfig::IconThemesConfig(const KComponentData &inst, QWidget *parent)
|
||||
: KCModule(inst, parent)
|
||||
{
|
||||
QVBoxLayout *topLayout = new QVBoxLayout(this);
|
||||
|
||||
QFrame *m_preview=new QFrame(this);
|
||||
m_preview->setMinimumHeight(80);
|
||||
|
||||
QHBoxLayout *lh2=new QHBoxLayout( m_preview );
|
||||
lh2->setSpacing(0);
|
||||
m_previewExec=new QLabel(m_preview);
|
||||
m_previewExec->setPixmap(DesktopIcon("system-run"));
|
||||
m_previewFolder=new QLabel(m_preview);
|
||||
m_previewFolder->setPixmap(DesktopIcon("folder"));
|
||||
m_previewDocument=new QLabel(m_preview);
|
||||
m_previewDocument->setPixmap(DesktopIcon("document"));
|
||||
|
||||
lh2->addStretch(10);
|
||||
lh2->addWidget(m_previewExec);
|
||||
lh2->addStretch(1);
|
||||
lh2->addWidget(m_previewFolder);
|
||||
lh2->addStretch(1);
|
||||
lh2->addWidget(m_previewDocument);
|
||||
lh2->addStretch(10);
|
||||
|
||||
|
||||
m_iconThemes=new QTreeWidget(this/*"IconThemeList"*/);
|
||||
QStringList columns;
|
||||
columns.append(i18n("Name"));
|
||||
columns.append(i18n("Description"));
|
||||
m_iconThemes->setHeaderLabels(columns);
|
||||
m_iconThemes->setAllColumnsShowFocus( true );
|
||||
m_iconThemes->setRootIsDecorated(false);
|
||||
m_iconThemes->setSortingEnabled(true);
|
||||
m_iconThemes->sortByColumn(0, Qt::AscendingOrder);
|
||||
connect(m_iconThemes,SIGNAL(currentItemChanged(QTreeWidgetItem *, QTreeWidgetItem *)),
|
||||
SLOT(themeSelected(QTreeWidgetItem *)));
|
||||
|
||||
KPushButton *installButton=new KPushButton( KIcon("document-import"), i18n("Install Theme File..."), this);
|
||||
installButton->setObjectName( QLatin1String("InstallNewTheme" ));
|
||||
installButton->setToolTip(i18n("Install a theme archive file you already have locally"));
|
||||
installButton->setWhatsThis(i18n("If you already have a theme archive locally, this button will unpack it and make it available for KDE applications"));
|
||||
connect(installButton,SIGNAL(clicked()),SLOT(installNewTheme()));
|
||||
|
||||
KPushButton *newButton=new KPushButton( KIcon("get-hot-new-stuff"), i18n("Get New Themes..."), this);
|
||||
newButton->setObjectName( QLatin1String("GetNewTheme" ));
|
||||
newButton->setToolTip(i18n("Get new themes from the Internet"));
|
||||
newButton->setWhatsThis(i18n("You need to be connected to the Internet to use this action. A dialog will display a list of themes from the http://www.kde.org website. Clicking the Install button associated with a theme will install this theme locally."));
|
||||
connect(newButton,SIGNAL(clicked()),SLOT(getNewTheme()));
|
||||
|
||||
m_removeButton=new KPushButton( KIcon("edit-delete"), i18n("Remove Theme"), this);
|
||||
m_removeButton->setObjectName( QLatin1String("RemoveTheme" ));
|
||||
m_removeButton->setToolTip(i18n("Remove the selected theme from your disk"));
|
||||
m_removeButton->setWhatsThis(i18n("This will remove the selected theme from your disk."));
|
||||
connect(m_removeButton,SIGNAL(clicked()),SLOT(removeSelectedTheme()));
|
||||
|
||||
topLayout->addWidget(
|
||||
new QLabel(i18n("Select the icon theme you want to use:"), this));
|
||||
topLayout->addWidget(m_preview);
|
||||
topLayout->addWidget(m_iconThemes);
|
||||
QHBoxLayout *lg = new QHBoxLayout();
|
||||
lg->addWidget(newButton);
|
||||
lg->addStretch(0);
|
||||
lg->addWidget(installButton);
|
||||
lg->addWidget(m_removeButton);
|
||||
topLayout->addLayout(lg);
|
||||
|
||||
loadThemes();
|
||||
|
||||
m_defaultTheme=iconThemeItem(KIconTheme::current());
|
||||
if (m_defaultTheme)
|
||||
m_iconThemes->setCurrentItem(m_defaultTheme);
|
||||
updateRemoveButton();
|
||||
|
||||
m_iconThemes->setFocus();
|
||||
}
|
||||
|
||||
IconThemesConfig::~IconThemesConfig()
|
||||
{
|
||||
}
|
||||
|
||||
QTreeWidgetItem *IconThemesConfig::iconThemeItem(const QString &name)
|
||||
{
|
||||
for (int i = 0; i < m_iconThemes->topLevelItemCount(); ++i)
|
||||
if (m_iconThemes->topLevelItem(i)->data(0, ThemeNameRole).toString()==name)
|
||||
return m_iconThemes->topLevelItem(i);
|
||||
|
||||
return 0L;
|
||||
}
|
||||
|
||||
void IconThemesConfig::loadThemes()
|
||||
{
|
||||
m_iconThemes->clear();
|
||||
const QStringList themelist(KIconTheme::list());
|
||||
QString name;
|
||||
QString tname;
|
||||
QStringList::const_iterator it;
|
||||
QMap <QString, QString> themeNames;
|
||||
for (it=themelist.constBegin(); it != themelist.constEnd(); ++it)
|
||||
{
|
||||
KIconTheme icontheme(*it);
|
||||
if (!icontheme.isValid()) kDebug() << "notvalid\n";
|
||||
if (icontheme.isHidden()) continue;
|
||||
|
||||
name=icontheme.name();
|
||||
tname=name;
|
||||
|
||||
// Just in case we have duplicated icon theme names on separate directories
|
||||
for (int i = 2; themeNames.find(tname) != themeNames.end(); ++i)
|
||||
tname=QString("%1-%2").arg(name).arg(i);
|
||||
|
||||
QTreeWidgetItem *newitem = new QTreeWidgetItem();
|
||||
newitem->setText(0, name);
|
||||
newitem->setText(1, icontheme.description());
|
||||
newitem->setData(0, ThemeNameRole, *it);
|
||||
m_iconThemes->addTopLevelItem(newitem);
|
||||
|
||||
themeNames.insert(name, *it);
|
||||
}
|
||||
m_iconThemes->resizeColumnToContents(0);
|
||||
}
|
||||
|
||||
void IconThemesConfig::installNewTheme()
|
||||
{
|
||||
KUrl themeURL = KUrlRequesterDialog::getUrl(QString(), this,
|
||||
i18n("Drag or Type Theme URL"));
|
||||
|
||||
if (themeURL.url().isEmpty()) return;
|
||||
|
||||
kDebug() << themeURL.prettyUrl();
|
||||
QString themeTmpFile;
|
||||
// themeTmpFile contains the name of the downloaded file
|
||||
|
||||
if (!KIO::NetAccess::download(themeURL, themeTmpFile, this)) {
|
||||
QString sorryText;
|
||||
if (themeURL.isLocalFile())
|
||||
sorryText = i18n("Unable to find the icon theme archive %1.",
|
||||
themeURL.prettyUrl());
|
||||
else
|
||||
sorryText = i18n("Unable to download the icon theme archive;\n"
|
||||
"please check that address %1 is correct.",
|
||||
themeURL.prettyUrl());
|
||||
KMessageBox::sorry(this, sorryText);
|
||||
return;
|
||||
}
|
||||
|
||||
QStringList themesNames = findThemeDirs(themeTmpFile);
|
||||
if (themesNames.isEmpty()) {
|
||||
QString invalidArch(i18n("The file is not a valid icon theme archive."));
|
||||
KMessageBox::error(this, invalidArch);
|
||||
|
||||
KIO::NetAccess::removeTempFile(themeTmpFile);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!installThemes(themesNames, themeTmpFile)) {
|
||||
//FIXME: make me able to know what is wrong....
|
||||
// QStringList instead of bool?
|
||||
QString somethingWrong =
|
||||
i18n("A problem occurred during the installation process; "
|
||||
"however, most of the themes in the archive have been installed");
|
||||
KMessageBox::error(this, somethingWrong);
|
||||
}
|
||||
|
||||
KIO::NetAccess::removeTempFile(themeTmpFile);
|
||||
|
||||
KIconLoader::global()->newIconLoader();
|
||||
loadThemes();
|
||||
|
||||
QTreeWidgetItem *item=iconThemeItem(KIconTheme::current());
|
||||
if (item)
|
||||
m_iconThemes->setCurrentItem(item);
|
||||
updateRemoveButton();
|
||||
}
|
||||
|
||||
bool IconThemesConfig::installThemes(const QStringList &themes, const QString &archiveName)
|
||||
{
|
||||
bool everythingOk = true;
|
||||
QString localThemesDir(KStandardDirs::locateLocal("icon", "./"));
|
||||
|
||||
KProgressDialog progressDiag(this,
|
||||
i18n("Installing icon themes"),
|
||||
QString());
|
||||
progressDiag.setModal(true);
|
||||
progressDiag.setAutoClose(true);
|
||||
QProgressBar* progressBar = progressDiag.progressBar();
|
||||
progressBar->setMaximum(themes.count());
|
||||
progressDiag.show();
|
||||
|
||||
KTar archive(archiveName);
|
||||
archive.open(QIODevice::ReadOnly);
|
||||
kapp->processEvents();
|
||||
|
||||
const KArchiveDirectory* rootDir = archive.directory();
|
||||
|
||||
KArchiveDirectory* currentTheme;
|
||||
for (QStringList::ConstIterator it = themes.begin();
|
||||
it != themes.end();
|
||||
++it) {
|
||||
progressDiag.setLabelText(
|
||||
i18n("<qt>Installing <strong>%1</strong> theme</qt>",
|
||||
*it));
|
||||
kapp->processEvents();
|
||||
|
||||
if (progressDiag.wasCancelled())
|
||||
break;
|
||||
|
||||
currentTheme = dynamic_cast<KArchiveDirectory*>(
|
||||
const_cast<KArchiveEntry*>(
|
||||
rootDir->entry(*it)));
|
||||
if (currentTheme == NULL) {
|
||||
// we tell back that something went wrong, but try to install as much
|
||||
// as possible
|
||||
everythingOk = false;
|
||||
continue;
|
||||
}
|
||||
|
||||
currentTheme->copyTo(localThemesDir + *it);
|
||||
progressBar->setValue(progressBar->value()+1);
|
||||
}
|
||||
|
||||
archive.close();
|
||||
return everythingOk;
|
||||
}
|
||||
|
||||
QStringList IconThemesConfig::findThemeDirs(const QString &archiveName)
|
||||
{
|
||||
QStringList foundThemes;
|
||||
|
||||
KTar archive(archiveName);
|
||||
archive.open(QIODevice::ReadOnly);
|
||||
const KArchiveDirectory* themeDir = archive.directory();
|
||||
|
||||
KArchiveEntry* possibleDir = 0L;
|
||||
KArchiveDirectory* subDir = 0L;
|
||||
|
||||
// iterate all the dirs looking for an index.theme or index.desktop file
|
||||
QStringList entries = themeDir->entries();
|
||||
for (QStringList::const_iterator it = entries.constBegin();
|
||||
it != entries.constEnd();
|
||||
++it) {
|
||||
possibleDir = const_cast<KArchiveEntry*>(themeDir->entry(*it));
|
||||
if (possibleDir->isDirectory()) {
|
||||
subDir = dynamic_cast<KArchiveDirectory*>( possibleDir );
|
||||
if (subDir && (subDir->entry("index.theme") != NULL ||
|
||||
subDir->entry("index.desktop") != NULL))
|
||||
foundThemes.append(subDir->name());
|
||||
}
|
||||
}
|
||||
|
||||
archive.close();
|
||||
return foundThemes;
|
||||
}
|
||||
|
||||
void IconThemesConfig::getNewTheme()
|
||||
{
|
||||
KNS3::DownloadDialog dialog("icons.knsrc", this);
|
||||
dialog.exec();
|
||||
if (!dialog.changedEntries().isEmpty()) {
|
||||
for(int i = 0; i < dialog.changedEntries().size(); i ++) {
|
||||
if(dialog.changedEntries().at(i).status() == KNS3::Entry::Installed
|
||||
&& !dialog.changedEntries().at(i).installedFiles().isEmpty()) {
|
||||
const QString themeTmpFile = dialog.changedEntries().at(i).installedFiles().at(0);
|
||||
const QString name = dialog.changedEntries().at(i).installedFiles().at(0).section('/', -2, -2);
|
||||
kDebug()<<"IconThemesConfig::getNewTheme() themeTmpFile="<<themeTmpFile<<"name="<<name;
|
||||
QStringList themeNames = findThemeDirs(themeTmpFile);
|
||||
if (themeNames.isEmpty()) {
|
||||
//dialog.changedEntries().at(i)->setStatus(KNS3::Entry::Invalid);
|
||||
}
|
||||
else if (! installThemes(themeNames, themeTmpFile)) {
|
||||
//dialog.changedEntries().at(i)->setStatus(KNS3::Entry::Invalid);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// reload the display icontheme items
|
||||
KIconLoader::global()->newIconLoader();
|
||||
loadThemes();
|
||||
QTreeWidgetItem *item=iconThemeItem(KIconTheme::current());
|
||||
if (item)
|
||||
m_iconThemes->setCurrentItem(item);
|
||||
updateRemoveButton();
|
||||
load();
|
||||
}
|
||||
}
|
||||
|
||||
void IconThemesConfig::removeSelectedTheme()
|
||||
{
|
||||
QTreeWidgetItem *selected = m_iconThemes->currentItem();
|
||||
if (!selected)
|
||||
return;
|
||||
|
||||
QString question=i18n("<qt>Are you sure you want to remove the "
|
||||
"<strong>%1</strong> icon theme?<br />"
|
||||
"<br />"
|
||||
"This will delete the files installed by this theme.</qt>",
|
||||
selected->text(0));
|
||||
|
||||
bool deletingCurrentTheme=(selected==iconThemeItem(KIconTheme::current()));
|
||||
|
||||
int r=KMessageBox::warningContinueCancel(this,question,i18n("Confirmation"),KStandardGuiItem::del());
|
||||
if (r!=KMessageBox::Continue) return;
|
||||
|
||||
KIconTheme icontheme(selected->data(0, ThemeNameRole).toString());
|
||||
|
||||
// delete the index file before the async KIO::del so loadThemes() will
|
||||
// ignore that dir.
|
||||
unlink(QFile::encodeName(icontheme.dir()+"/index.theme").data());
|
||||
unlink(QFile::encodeName(icontheme.dir()+"/index.desktop").data());
|
||||
KIO::del(KUrl( icontheme.dir() ));
|
||||
|
||||
KIconLoader::global()->newIconLoader();
|
||||
|
||||
loadThemes();
|
||||
|
||||
QTreeWidgetItem *item=0L;
|
||||
//Fallback to the default if we've deleted the current theme
|
||||
if (!deletingCurrentTheme)
|
||||
item=iconThemeItem(KIconTheme::current());
|
||||
if (!item)
|
||||
item=iconThemeItem(KIconTheme::defaultThemeName());
|
||||
|
||||
if (item)
|
||||
m_iconThemes->setCurrentItem(item);
|
||||
updateRemoveButton();
|
||||
|
||||
if (deletingCurrentTheme) // Change the configuration
|
||||
save();
|
||||
}
|
||||
|
||||
void IconThemesConfig::updateRemoveButton()
|
||||
{
|
||||
QTreeWidgetItem *selected = m_iconThemes->currentItem();
|
||||
bool enabled = false;
|
||||
if (selected)
|
||||
{
|
||||
QString selectedtheme = selected->data(0, ThemeNameRole).toString();
|
||||
KIconTheme icontheme(selectedtheme);
|
||||
QFileInfo fi(icontheme.dir());
|
||||
enabled = fi.isWritable();
|
||||
// Don't let users remove the current theme.
|
||||
if (selectedtheme == KIconTheme::current() ||
|
||||
selectedtheme == KIconTheme::defaultThemeName())
|
||||
enabled = false;
|
||||
}
|
||||
m_removeButton->setEnabled(enabled);
|
||||
}
|
||||
|
||||
void loadPreview(QLabel *label, KIconTheme& icontheme, const QStringList& iconnames)
|
||||
{
|
||||
const int size = qMin(48, icontheme.defaultSize(KIconLoader::Desktop));
|
||||
QSvgRenderer renderer;
|
||||
foreach(const QString &iconthemename, QStringList() << icontheme.internalName() << icontheme.inherits()) {
|
||||
foreach(const QString &name, iconnames) {
|
||||
K3Icon icon = KIconTheme(iconthemename).iconPath(QString("%1.png").arg(name), size, KIconLoader::MatchBest);
|
||||
if (icon.isValid()) {
|
||||
label->setPixmap(QPixmap(icon.path).scaled(size, size));
|
||||
return;
|
||||
}
|
||||
icon = KIconTheme(iconthemename).iconPath(QString("%1.svg").arg(name), size, KIconLoader::MatchBest);
|
||||
if( ! icon.isValid() ) {
|
||||
icon = KIconTheme(iconthemename).iconPath(QString("%1.svgz").arg(name), size, KIconLoader::MatchBest);
|
||||
if( ! icon.isValid() ) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if (renderer.load(icon.path)) {
|
||||
QPixmap pix(size, size);
|
||||
pix.fill(label->palette().color(QPalette::Background));
|
||||
QPainter p(&pix);
|
||||
p.setViewport(0, 0, size, size);
|
||||
renderer.render(&p);
|
||||
label->setPixmap(pix.scaled(size, size));
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
label->setPixmap(QPixmap());
|
||||
}
|
||||
|
||||
void IconThemesConfig::themeSelected(QTreeWidgetItem *item)
|
||||
{
|
||||
if (!item) return;
|
||||
|
||||
QString dirName(item->data(0, ThemeNameRole).toString());
|
||||
KIconTheme icontheme(dirName);
|
||||
if (!icontheme.isValid()) kDebug() << "notvalid\n";
|
||||
|
||||
updateRemoveButton();
|
||||
|
||||
loadPreview(m_previewExec, icontheme, QStringList() << "system-run" << "exec");
|
||||
loadPreview(m_previewFolder, icontheme, QStringList() << "folder");
|
||||
loadPreview(m_previewDocument, icontheme, QStringList() << "document" << "text-x-generic");
|
||||
|
||||
emit changed(true);
|
||||
m_bChanged = true;
|
||||
}
|
||||
|
||||
void IconThemesConfig::load()
|
||||
{
|
||||
m_defaultTheme=iconThemeItem(KIconTheme::current());
|
||||
if (m_defaultTheme)
|
||||
m_iconThemes->setCurrentItem(m_defaultTheme);
|
||||
emit changed(false);
|
||||
m_bChanged = false;
|
||||
}
|
||||
|
||||
void IconThemesConfig::save()
|
||||
{
|
||||
if (!m_bChanged)
|
||||
return;
|
||||
QTreeWidgetItem *selected = m_iconThemes->currentItem();
|
||||
if (!selected)
|
||||
return;
|
||||
|
||||
KConfigGroup config(KSharedConfig::openConfig("kdeglobals", KConfig::SimpleConfig), "Icons");
|
||||
config.writeEntry("Theme", selected->data(0, ThemeNameRole).toString());
|
||||
config.sync();
|
||||
|
||||
KIconTheme::reconfigure();
|
||||
emit changed(false);
|
||||
|
||||
KSharedDataCache::deleteCache("icon-cache");
|
||||
|
||||
for (int i=0; i<KIconLoader::LastGroup; i++)
|
||||
{
|
||||
KGlobalSettings::self()->emitChange(KGlobalSettings::IconChanged, i);
|
||||
}
|
||||
|
||||
KBuildSycocaProgressDialog::rebuildKSycoca(this);
|
||||
|
||||
m_bChanged = false;
|
||||
m_removeButton->setEnabled(false);
|
||||
}
|
||||
|
||||
void IconThemesConfig::defaults()
|
||||
{
|
||||
if (m_iconThemes->currentItem()==m_defaultTheme) return;
|
||||
|
||||
if (m_defaultTheme)
|
||||
m_iconThemes->setCurrentItem(m_defaultTheme);
|
||||
updateRemoveButton();
|
||||
|
||||
emit changed(true);
|
||||
m_bChanged = true;
|
||||
}
|
||||
|
||||
#include "iconthemes.moc"
|
74
kcontrol/icons/iconthemes.h
Normal file
74
kcontrol/icons/iconthemes.h
Normal file
|
@ -0,0 +1,74 @@
|
|||
/**
|
||||
* Copyright (c) 2000 Antonio Larrosa <larrosa@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 ICONTHEMES_H
|
||||
#define ICONTHEMES_H
|
||||
|
||||
#define KDE3_SUPPORT
|
||||
#include <kcmodule.h>
|
||||
#undef KDE3_SUPPORT
|
||||
//Added by qt3to4:
|
||||
#include <QLabel>
|
||||
|
||||
class KPushButton;
|
||||
class QStringList;
|
||||
class QTreeWidget;
|
||||
class QTreeWidgetItem;
|
||||
|
||||
|
||||
class IconThemesConfig : public KCModule
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
IconThemesConfig(const KComponentData &inst, QWidget *parent);
|
||||
virtual ~IconThemesConfig();
|
||||
|
||||
void loadThemes();
|
||||
bool installThemes(const QStringList &themes, const QString &archiveName);
|
||||
QStringList findThemeDirs(const QString &archiveName);
|
||||
|
||||
void updateRemoveButton();
|
||||
|
||||
void load();
|
||||
void save();
|
||||
void defaults();
|
||||
|
||||
int buttons();
|
||||
|
||||
protected Q_SLOTS:
|
||||
void themeSelected(QTreeWidgetItem *item);
|
||||
void installNewTheme();
|
||||
void getNewTheme();
|
||||
void removeSelectedTheme();
|
||||
|
||||
private:
|
||||
QTreeWidgetItem *iconThemeItem(const QString &name);
|
||||
|
||||
QTreeWidget *m_iconThemes;
|
||||
KPushButton *m_removeButton;
|
||||
|
||||
QLabel *m_previewExec;
|
||||
QLabel *m_previewFolder;
|
||||
QLabel *m_previewDocument;
|
||||
QTreeWidgetItem *m_defaultTheme;
|
||||
bool m_bChanged;
|
||||
};
|
||||
|
||||
#endif // ICONTHEMES_H
|
||||
|
115
kcontrol/icons/main.cpp
Normal file
115
kcontrol/icons/main.cpp
Normal file
|
@ -0,0 +1,115 @@
|
|||
/*
|
||||
* main.cpp
|
||||
*
|
||||
* Copyright (c) 1999 Matthias Hoelzer-Kluepfel <hoelzer@kde.org>
|
||||
*
|
||||
* Requires the Qt widget libraries, available at no cost at
|
||||
* http://www.troll.no/
|
||||
*
|
||||
* 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 "main.h"
|
||||
|
||||
//Added by qt3to4:
|
||||
#include <QVBoxLayout>
|
||||
|
||||
#include <kaboutdata.h>
|
||||
#include <KPluginFactory>
|
||||
#include <KPluginLoader>
|
||||
#include <KLocale>
|
||||
|
||||
#include "icons.h"
|
||||
#include "iconthemes.h"
|
||||
|
||||
/**** DLL Interface ****/
|
||||
K_PLUGIN_FACTORY(IconsFactory,
|
||||
registerPlugin<IconModule>();
|
||||
)
|
||||
K_EXPORT_PLUGIN(IconsFactory("kcmicons"))
|
||||
|
||||
/**** IconModule ****/
|
||||
|
||||
IconModule::IconModule(QWidget *parent, const QVariantList &)
|
||||
: KCModule(IconsFactory::componentData(), parent)
|
||||
{
|
||||
QVBoxLayout *layout = new QVBoxLayout(this);
|
||||
layout->setMargin(0);
|
||||
|
||||
tab = new QTabWidget(this);
|
||||
layout->addWidget(tab);
|
||||
|
||||
tab1 = new IconThemesConfig(IconsFactory::componentData(), this);
|
||||
tab1->setObjectName( QLatin1String( "themes" ) );
|
||||
tab->addTab(tab1, i18n("&Theme"));
|
||||
connect(tab1, SIGNAL(changed(bool)), this, SLOT(moduleChanged(bool)));
|
||||
|
||||
tab2 = new KIconConfig(IconsFactory::componentData(), this);
|
||||
tab2->setObjectName( QLatin1String( "effects" ) );
|
||||
tab->addTab(tab2, i18n("Ad&vanced"));
|
||||
connect(tab2, SIGNAL(changed(bool)), this, SLOT(moduleChanged(bool)));
|
||||
|
||||
KAboutData* about = new KAboutData("kcmicons", 0, ki18n("Icons"), "3.0",
|
||||
ki18n("Icons Control Panel Module"),
|
||||
KAboutData::License_GPL,
|
||||
ki18n("(c) 2000-2003 Geert Jansen"));
|
||||
about->addAuthor(ki18n("Geert Jansen"), KLocalizedString(), "jansen@kde.org");
|
||||
about->addAuthor(ki18n("Antonio Larrosa Jimenez"), KLocalizedString(), "larrosa@kde.org");
|
||||
about->addCredit(ki18n("Torsten Rahn"), KLocalizedString(), "torsten@kde.org");
|
||||
setAboutData( about );
|
||||
}
|
||||
|
||||
|
||||
void IconModule::load()
|
||||
{
|
||||
tab1->load();
|
||||
tab2->load();
|
||||
}
|
||||
|
||||
|
||||
void IconModule::save()
|
||||
{
|
||||
tab1->save();
|
||||
tab2->save();
|
||||
}
|
||||
|
||||
|
||||
void IconModule::defaults()
|
||||
{
|
||||
tab1->defaults();
|
||||
tab2->defaults();
|
||||
}
|
||||
|
||||
|
||||
void IconModule::moduleChanged(bool state)
|
||||
{
|
||||
emit changed(state);
|
||||
}
|
||||
|
||||
QString IconModule::quickHelp() const
|
||||
{
|
||||
return i18n("<h1>Icons</h1>"
|
||||
"This module allows you to choose the icons for your desktop.<p>"
|
||||
"To choose an icon theme, click on its name and apply your choice by pressing the \"Apply\" button below. If you do not want to apply your choice you can press the \"Reset\" button to discard your changes.</p>"
|
||||
"<p>By pressing the \"Install Theme File...\" button you can install your new icon theme by writing its location in the box or browsing to the location."
|
||||
" Press the \"OK\" button to finish the installation.</p>"
|
||||
"<p>The \"Remove Theme\" button will only be activated if you select a theme that you installed using this module."
|
||||
" You are not able to remove globally installed themes here.</p>"
|
||||
"<p>You can also specify effects that should be applied to the icons.</p>");
|
||||
}
|
||||
|
||||
|
||||
|
||||
#include "main.moc"
|
55
kcontrol/icons/main.h
Normal file
55
kcontrol/icons/main.h
Normal file
|
@ -0,0 +1,55 @@
|
|||
/*
|
||||
* main.h
|
||||
*
|
||||
* Copyright (c) 1999 Matthias Hoelzer-Kluepfel <hoelzer@kde.org>
|
||||
*
|
||||
* Requires the Qt widget libraries, available at no cost at
|
||||
* http://www.troll.no/
|
||||
*
|
||||
* 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 __MAIN_H__
|
||||
#define __MAIN_H__
|
||||
|
||||
|
||||
#include <QTabWidget>
|
||||
#include <kcmodule.h>
|
||||
|
||||
class IconModule : public KCModule
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
IconModule(QWidget *parent, const QVariantList &);
|
||||
|
||||
void load();
|
||||
void save();
|
||||
void defaults();
|
||||
QString quickHelp() const;
|
||||
|
||||
protected Q_SLOTS:
|
||||
void moduleChanged(bool state);
|
||||
|
||||
private:
|
||||
QTabWidget *tab;
|
||||
|
||||
KCModule *tab1;
|
||||
KCModule *tab2;
|
||||
};
|
||||
|
||||
|
||||
#endif
|
13
kcontrol/icons/tests/CMakeLists.txt
Normal file
13
kcontrol/icons/tests/CMakeLists.txt
Normal file
|
@ -0,0 +1,13 @@
|
|||
set( EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR} )
|
||||
|
||||
|
||||
include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/.. )
|
||||
########### next target ###############
|
||||
set(testicons_SRCS testicons.cpp ${CMAKE_CURRENT_SOURCE_DIR}/../icons.cpp )
|
||||
|
||||
|
||||
kde4_add_executable(testicons TEST ${testicons_SRCS})
|
||||
|
||||
target_link_libraries(testicons ${KDE4_KDEUI_LIBS})
|
||||
|
||||
|
14
kcontrol/icons/tests/testicons.cpp
Normal file
14
kcontrol/icons/tests/testicons.cpp
Normal file
|
@ -0,0 +1,14 @@
|
|||
/* Test program for icons setup module. */
|
||||
|
||||
#include <QApplication>
|
||||
#include <kcomponentdata.h>
|
||||
#include "icons.h"
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
QApplication app(argc, argv, "testicons");
|
||||
KComponentData componentData("testicons");
|
||||
KIconConfig *w = new KIconConfig(componentData, 0L);
|
||||
w->show();
|
||||
return app.exec();
|
||||
}
|
19
kcontrol/kded/CMakeLists.txt
Normal file
19
kcontrol/kded/CMakeLists.txt
Normal file
|
@ -0,0 +1,19 @@
|
|||
|
||||
|
||||
|
||||
########### next target ###############
|
||||
|
||||
set(kcm_kded_PART_SRCS kcmkded.cpp )
|
||||
|
||||
|
||||
kde4_add_plugin(kcm_kded ${kcm_kded_PART_SRCS})
|
||||
|
||||
|
||||
target_link_libraries(kcm_kded ${KDE4_KDEUI_LIBS})
|
||||
|
||||
install(TARGETS kcm_kded DESTINATION ${PLUGIN_INSTALL_DIR} )
|
||||
|
||||
|
||||
########### install files ###############
|
||||
|
||||
install( FILES kcmkded.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
|
2
kcontrol/kded/Messages.sh
Normal file
2
kcontrol/kded/Messages.sh
Normal file
|
@ -0,0 +1,2 @@
|
|||
#! /usr/bin/env bash
|
||||
$XGETTEXT *.cpp -o $podir/kcmkded.pot
|
483
kcontrol/kded/kcmkded.cpp
Normal file
483
kcontrol/kded/kcmkded.cpp
Normal file
|
@ -0,0 +1,483 @@
|
|||
// vim: noexpandtab shiftwidth=4 tabstop=4
|
||||
/* This file is part of the KDE project
|
||||
Copyright (C) 2002 Daniel Molkentin <molkentin@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; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include "kcmkded.h"
|
||||
|
||||
#include <QtDBus/QtDBus>
|
||||
#include <QGroupBox>
|
||||
#include <QPushButton>
|
||||
#include <QTimer>
|
||||
#include <QTreeWidget>
|
||||
#include <QVBoxLayout>
|
||||
#include <QHeaderView>
|
||||
|
||||
#include <kaboutdata.h>
|
||||
#include <kdialogbuttonbox.h>
|
||||
#include <kdebug.h>
|
||||
#include <kdesktopfile.h>
|
||||
#include <kdialog.h>
|
||||
#include <kmessagebox.h>
|
||||
#include <kservice.h>
|
||||
#include <kservicetypetrader.h>
|
||||
|
||||
#include <KPluginFactory>
|
||||
#include <KPluginLoader>
|
||||
#include "kcmkded.moc"
|
||||
|
||||
K_PLUGIN_FACTORY(KDEDFactory,
|
||||
registerPlugin<KDEDConfig>();
|
||||
)
|
||||
K_EXPORT_PLUGIN(KDEDFactory("kcmkded"))
|
||||
|
||||
enum OnDemandColumns
|
||||
{
|
||||
OnDemandService = 0,
|
||||
OnDemandStatus = 1,
|
||||
OnDemandDescription = 2
|
||||
};
|
||||
|
||||
enum StartupColumns
|
||||
{
|
||||
StartupUse = 0,
|
||||
StartupService = 1,
|
||||
StartupStatus = 2,
|
||||
StartupDescription = 3
|
||||
};
|
||||
|
||||
|
||||
|
||||
static const int LibraryRole = Qt::UserRole + 1;
|
||||
|
||||
KDEDConfig::KDEDConfig(QWidget* parent, const QVariantList &) :
|
||||
KCModule( KDEDFactory::componentData(), parent )
|
||||
{
|
||||
KAboutData *about =
|
||||
new KAboutData( I18N_NOOP( "kcmkded" ), 0, ki18n( "KDE Service Manager" ),
|
||||
0, KLocalizedString(), KAboutData::License_GPL,
|
||||
ki18n( "(c) 2002 Daniel Molkentin" ) );
|
||||
about->addAuthor(ki18n("Daniel Molkentin"),KLocalizedString(),"molkentin@kde.org");
|
||||
setAboutData( about );
|
||||
setButtons(Apply|Default|Help);
|
||||
setQuickHelp( i18n("<h1>Service Manager</h1><p>This module allows you to have an overview of all plugins of the "
|
||||
"KDE Daemon, also referred to as KDE Services. Generally, there are two types of service:</p>"
|
||||
"<ul><li>Services invoked at startup</li><li>Services called on demand</li></ul>"
|
||||
"<p>The latter are only listed for convenience. The startup services can be started and stopped. "
|
||||
"In Administrator mode, you can also define whether services should be loaded at startup.</p>"
|
||||
"<p><b> Use this with care: some services are vital for KDE; do not deactivate services if you"
|
||||
" do not know what you are doing.</b></p>"));
|
||||
|
||||
RUNNING = i18n("Running")+' ';
|
||||
NOT_RUNNING = i18n("Not running")+' ';
|
||||
|
||||
QVBoxLayout *lay = new QVBoxLayout( this );
|
||||
lay->setMargin( 0 );
|
||||
|
||||
QGroupBox *gb = new QGroupBox( i18n("Load-on-Demand Services"), this );
|
||||
gb->setWhatsThis( i18n("This is a list of available KDE services which will "
|
||||
"be started on demand. They are only listed for convenience, as you "
|
||||
"cannot manipulate these services."));
|
||||
lay->addWidget( gb );
|
||||
|
||||
QVBoxLayout *gblay = new QVBoxLayout( gb );
|
||||
|
||||
_lvLoD = new QTreeWidget( gb );
|
||||
QStringList cols;
|
||||
cols.append( i18n("Service") );
|
||||
cols.append( i18n("Status") );
|
||||
cols.append( i18n("Description") );
|
||||
_lvLoD->setHeaderLabels( cols );
|
||||
_lvLoD->setAllColumnsShowFocus(true);
|
||||
_lvLoD->setRootIsDecorated( false );
|
||||
_lvLoD->setSortingEnabled(true);
|
||||
_lvLoD->sortByColumn(OnDemandService, Qt::AscendingOrder);
|
||||
_lvLoD->header()->setStretchLastSection(true);
|
||||
gblay->addWidget( _lvLoD );
|
||||
|
||||
gb = new QGroupBox( i18n("Startup Services"), this );
|
||||
gb->setWhatsThis( i18n("This shows all KDE services that can be loaded "
|
||||
"on KDE startup. Checked services will be invoked on next startup. "
|
||||
"Be careful with deactivation of unknown services."));
|
||||
lay->addWidget( gb );
|
||||
|
||||
gblay = new QVBoxLayout( gb );
|
||||
|
||||
_lvStartup = new QTreeWidget( gb );
|
||||
cols.clear();
|
||||
cols.append( i18n("Use") );
|
||||
cols.append( i18n("Service") );
|
||||
cols.append( i18n("Status") );
|
||||
cols.append( i18n("Description") );
|
||||
_lvStartup->setHeaderLabels( cols );
|
||||
_lvStartup->setAllColumnsShowFocus(true);
|
||||
_lvStartup->setRootIsDecorated( false );
|
||||
_lvStartup->setSortingEnabled(true);
|
||||
_lvStartup->sortByColumn(StartupService, Qt::AscendingOrder);
|
||||
_lvStartup->header()->setStretchLastSection(true);
|
||||
gblay->addWidget( _lvStartup );
|
||||
|
||||
KDialogButtonBox *buttonBox = new KDialogButtonBox( gb, Qt::Horizontal);
|
||||
_pbStart = buttonBox->addButton( i18n("Start") , QDialogButtonBox::ActionRole );
|
||||
_pbStop = buttonBox->addButton( i18n("Stop") , QDialogButtonBox::ActionRole );
|
||||
gblay->addWidget( buttonBox );
|
||||
|
||||
_pbStart->setEnabled( false );
|
||||
_pbStop->setEnabled( false );
|
||||
|
||||
connect(_pbStart, SIGNAL(clicked()), SLOT(slotStartService()));
|
||||
connect(_pbStop, SIGNAL(clicked()), SLOT(slotStopService()));
|
||||
connect(_lvLoD, SIGNAL(itemSelectionChanged()), SLOT(slotLodItemSelected()));
|
||||
connect(_lvStartup, SIGNAL(itemSelectionChanged()), SLOT(slotStartupItemSelected()));
|
||||
connect(_lvStartup, SIGNAL(itemChanged(QTreeWidgetItem*, int)), SLOT(slotItemChecked(QTreeWidgetItem*, int)) );
|
||||
|
||||
}
|
||||
|
||||
QString setModuleGroup(const QString &filename)
|
||||
{
|
||||
QString module = filename;
|
||||
int i = module.lastIndexOf('/');
|
||||
if (i != -1)
|
||||
module = module.mid(i+1);
|
||||
i = module.lastIndexOf('.');
|
||||
if (i != -1)
|
||||
module = module.left(i);
|
||||
|
||||
return QString("Module-%1").arg(module);
|
||||
}
|
||||
|
||||
bool KDEDConfig::autoloadEnabled(KConfig *config, const QString &filename)
|
||||
{
|
||||
KConfigGroup cg(config, setModuleGroup(filename));
|
||||
return cg.readEntry("autoload", true);
|
||||
}
|
||||
|
||||
void KDEDConfig::setAutoloadEnabled(KConfig *config, const QString &filename, bool b)
|
||||
{
|
||||
KConfigGroup cg(config, setModuleGroup(filename));
|
||||
return cg.writeEntry("autoload", b);
|
||||
}
|
||||
|
||||
void KDEDConfig::load()
|
||||
{
|
||||
KConfig kdedrc( "kdedrc", KConfig::NoGlobals );
|
||||
|
||||
_lvStartup->clear();
|
||||
_lvLoD->clear();
|
||||
|
||||
KService::List offers = KServiceTypeTrader::self()->query( "KDEDModule" );
|
||||
QTreeWidgetItem* treeitem = 0L;
|
||||
for ( KService::List::const_iterator it = offers.constBegin();
|
||||
it != offers.constEnd(); ++it)
|
||||
{
|
||||
QString servicePath = (*it)->entryPath();
|
||||
kDebug() << servicePath;
|
||||
|
||||
const KDesktopFile file( "services", servicePath );
|
||||
const KConfigGroup grp = file.desktopGroup();
|
||||
// The logic has to be identical to Kded::initModules.
|
||||
// They interpret X-KDE-Kded-autoload as false if not specified
|
||||
// X-KDE-Kded-load-on-demand as true if not specified
|
||||
if ( grp.readEntry("X-KDE-Kded-autoload", false) ) {
|
||||
treeitem = new QTreeWidgetItem();
|
||||
treeitem->setCheckState( StartupUse, autoloadEnabled(&kdedrc, file.name()) ? Qt::Checked : Qt::Unchecked );
|
||||
treeitem->setText( StartupService, file.readName() );
|
||||
treeitem->setText( StartupDescription, file.readComment() );
|
||||
treeitem->setText( StartupStatus, NOT_RUNNING );
|
||||
if (grp.hasKey("X-KDE-DBus-ModuleName")) {
|
||||
treeitem->setData( StartupService, LibraryRole, grp.readEntry("X-KDE-DBus-ModuleName") );
|
||||
} else {
|
||||
kWarning() << "X-KDE-DBUS-ModuleName not set for module " << file.readName();
|
||||
treeitem->setData( StartupService, LibraryRole, grp.readEntry("X-KDE-Library") );
|
||||
}
|
||||
_lvStartup->addTopLevelItem( treeitem );
|
||||
}
|
||||
else if ( grp.readEntry("X-KDE-Kded-load-on-demand", true) ) {
|
||||
treeitem = new QTreeWidgetItem();
|
||||
treeitem->setText( OnDemandService, file.readName() );
|
||||
treeitem->setText( OnDemandDescription, file.readComment() );
|
||||
treeitem->setText( OnDemandStatus, NOT_RUNNING );
|
||||
if (grp.hasKey("X-KDE-DBus-ModuleName")) {
|
||||
treeitem->setData( OnDemandService, LibraryRole, grp.readEntry("X-KDE-DBus-ModuleName") );
|
||||
} else {
|
||||
kWarning() << "X-KDE-DBUS-ModuleName not set for module " << file.readName();
|
||||
treeitem->setData( OnDemandService, LibraryRole, grp.readEntry("X-KDE-Library") );
|
||||
}
|
||||
_lvLoD->addTopLevelItem( treeitem );
|
||||
}
|
||||
else {
|
||||
kWarning() << "kcmkded: Module " << file.readName() << " not loaded on demand or startup! Skipping.";
|
||||
}
|
||||
}
|
||||
|
||||
_lvStartup->resizeColumnToContents(StartupUse);
|
||||
_lvStartup->resizeColumnToContents(StartupService);
|
||||
_lvStartup->resizeColumnToContents(StartupStatus);
|
||||
|
||||
_lvLoD->resizeColumnToContents(OnDemandService);
|
||||
_lvLoD->resizeColumnToContents(OnDemandStatus);
|
||||
|
||||
getServiceStatus();
|
||||
|
||||
emit changed(false);
|
||||
}
|
||||
|
||||
void KDEDConfig::save()
|
||||
{
|
||||
KConfig kdedrc("kdedrc", KConfig::NoGlobals);
|
||||
|
||||
KService::List offers = KServiceTypeTrader::self()->query( "KDEDModule" );
|
||||
for ( KService::List::const_iterator it = offers.constBegin();
|
||||
it != offers.constEnd(); ++it)
|
||||
{
|
||||
QString servicePath = (*it)->entryPath();
|
||||
kDebug() << servicePath;
|
||||
|
||||
const KDesktopFile file( "services", servicePath );
|
||||
const KConfigGroup grp = file.desktopGroup();
|
||||
if (grp.readEntry("X-KDE-Kded-autoload", false)){
|
||||
|
||||
QString libraryName = grp.readEntry( "X-KDE-Library" );
|
||||
int count = _lvStartup->topLevelItemCount();
|
||||
for( int i = 0; i < count; ++i )
|
||||
{
|
||||
QTreeWidgetItem *treeitem = _lvStartup->topLevelItem( i );
|
||||
if ( treeitem->data( StartupService, LibraryRole ).toString() == libraryName )
|
||||
{
|
||||
// we found a match, now compare and see what changed
|
||||
setAutoloadEnabled( &kdedrc, servicePath, treeitem->checkState( StartupUse ) == Qt::Checked);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
kdedrc.sync();
|
||||
|
||||
emit changed(false);
|
||||
|
||||
QDBusInterface kdedInterface( "org.kde.kded", "/kded", "org.kde.kded" );
|
||||
kdedInterface.call( "reconfigure" );
|
||||
QTimer::singleShot(0, this, SLOT(slotServiceRunningToggled()));
|
||||
}
|
||||
|
||||
|
||||
void KDEDConfig::defaults()
|
||||
{
|
||||
int count = _lvStartup->topLevelItemCount();
|
||||
for( int i = 0; i < count; ++i )
|
||||
{
|
||||
_lvStartup->topLevelItem( i )->setCheckState( StartupUse, Qt::Checked );
|
||||
}
|
||||
|
||||
getServiceStatus();
|
||||
|
||||
emit changed(true);
|
||||
}
|
||||
|
||||
|
||||
void KDEDConfig::getServiceStatus()
|
||||
{
|
||||
QStringList modules;
|
||||
QDBusInterface kdedInterface( "org.kde.kded", "/kded", "org.kde.kded" );
|
||||
QDBusReply<QStringList> reply = kdedInterface.call( "loadedModules" );
|
||||
|
||||
if ( reply.isValid() ) {
|
||||
modules = reply.value();
|
||||
}
|
||||
else {
|
||||
_lvLoD->setEnabled( false );
|
||||
_lvStartup->setEnabled( false );
|
||||
KMessageBox::error(this, i18n("Unable to contact KDED."));
|
||||
return;
|
||||
}
|
||||
|
||||
// Initialize
|
||||
int count = _lvLoD->topLevelItemCount();
|
||||
for( int i = 0; i < count; ++i )
|
||||
_lvLoD->topLevelItem( i )->setText( OnDemandStatus, NOT_RUNNING );
|
||||
count = _lvStartup->topLevelItemCount();
|
||||
for( int i = 0; i < count; ++i )
|
||||
_lvStartup->topLevelItem( i )->setText( StartupStatus, NOT_RUNNING );
|
||||
|
||||
// Fill
|
||||
foreach( const QString& module, modules )
|
||||
{
|
||||
bool found = false;
|
||||
|
||||
count = _lvLoD->topLevelItemCount();
|
||||
for( int i = 0; i < count; ++i )
|
||||
{
|
||||
QTreeWidgetItem *treeitem = _lvLoD->topLevelItem( i );
|
||||
if ( treeitem->data( OnDemandService, LibraryRole ).toString() == module )
|
||||
{
|
||||
treeitem->setText( OnDemandStatus, RUNNING );
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
count = _lvStartup->topLevelItemCount();
|
||||
for( int i = 0; i < count; ++i )
|
||||
{
|
||||
QTreeWidgetItem *treeitem = _lvStartup->topLevelItem( i );
|
||||
if ( treeitem->data( StartupService, LibraryRole ).toString() == module )
|
||||
{
|
||||
treeitem->setText( StartupStatus, RUNNING );
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!found)
|
||||
{
|
||||
kDebug() << "Could not relate module " << module;
|
||||
#ifndef NDEBUG
|
||||
kDebug() << "Candidates were:";
|
||||
count = _lvLoD->topLevelItemCount();
|
||||
for( int i = 0; i < count; ++i )
|
||||
{
|
||||
QTreeWidgetItem *treeitem = _lvLoD->topLevelItem( i );
|
||||
kDebug() << treeitem->data( OnDemandService, LibraryRole ).toString();
|
||||
}
|
||||
|
||||
count = _lvStartup->topLevelItemCount();
|
||||
for( int i = 0; i < count; ++i )
|
||||
{
|
||||
QTreeWidgetItem *treeitem = _lvStartup->topLevelItem( i );
|
||||
kDebug() << treeitem->data( StartupService, LibraryRole ).toString();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void KDEDConfig::slotReload()
|
||||
{
|
||||
QString current;
|
||||
if ( !_lvStartup->selectedItems().isEmpty() )
|
||||
current = _lvStartup->selectedItems().at(0)->data( StartupService, LibraryRole ).toString();
|
||||
load();
|
||||
if ( !current.isEmpty() )
|
||||
{
|
||||
int count = _lvStartup->topLevelItemCount();
|
||||
for( int i = 0; i < count; ++i )
|
||||
{
|
||||
QTreeWidgetItem *treeitem = _lvStartup->topLevelItem( i );
|
||||
if ( treeitem->data( StartupService, LibraryRole ).toString() == current )
|
||||
{
|
||||
_lvStartup->setCurrentItem( treeitem, 0, QItemSelectionModel::ClearAndSelect );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void KDEDConfig::slotStartupItemSelected()
|
||||
{
|
||||
if ( _lvStartup->selectedItems().isEmpty() ) {
|
||||
// Disable the buttons
|
||||
_pbStart->setEnabled( false );
|
||||
_pbStop->setEnabled( false );
|
||||
return;
|
||||
}
|
||||
|
||||
// Deselect a currently selected element in the "load on demand" treeview
|
||||
_lvLoD->setCurrentItem(NULL, 0, QItemSelectionModel::Clear);
|
||||
|
||||
QTreeWidgetItem *item = _lvStartup->selectedItems().at(0);
|
||||
if ( item->text(StartupStatus) == RUNNING ) {
|
||||
_pbStart->setEnabled( false );
|
||||
_pbStop->setEnabled( true );
|
||||
}
|
||||
else if ( item->text(StartupStatus) == NOT_RUNNING ) {
|
||||
_pbStart->setEnabled( true );
|
||||
_pbStop->setEnabled( false );
|
||||
}
|
||||
else // Error handling, better do nothing
|
||||
{
|
||||
_pbStart->setEnabled( false );
|
||||
_pbStop->setEnabled( false );
|
||||
}
|
||||
|
||||
getServiceStatus();
|
||||
}
|
||||
|
||||
void KDEDConfig::slotLodItemSelected()
|
||||
{
|
||||
if ( _lvLoD->selectedItems().isEmpty() )
|
||||
return;
|
||||
|
||||
// Deselect a currently selected element in the "load on startup" treeview
|
||||
_lvStartup->setCurrentItem(NULL, 0, QItemSelectionModel::Clear);
|
||||
}
|
||||
|
||||
void KDEDConfig::slotServiceRunningToggled()
|
||||
{
|
||||
getServiceStatus();
|
||||
slotStartupItemSelected();
|
||||
}
|
||||
|
||||
void KDEDConfig::slotStartService()
|
||||
{
|
||||
QString service = _lvStartup->selectedItems().at(0)->data( StartupService, LibraryRole ).toString();
|
||||
|
||||
QDBusInterface kdedInterface( "org.kde.kded", "/kded","org.kde.kded" );
|
||||
QDBusReply<bool> reply = kdedInterface.call( "loadModule", service );
|
||||
|
||||
if ( reply.isValid() ) {
|
||||
if ( reply.value() )
|
||||
slotServiceRunningToggled();
|
||||
else
|
||||
KMessageBox::error(this, "<qt>" + i18n("Unable to start server <em>%1</em>.", service) + "</qt>");
|
||||
}
|
||||
else {
|
||||
KMessageBox::error(this, "<qt>" + i18n("Unable to start service <em>%1</em>.<br /><br /><i>Error: %2</i>",
|
||||
service, reply.error().message()) + "</qt>" );
|
||||
}
|
||||
}
|
||||
|
||||
void KDEDConfig::slotStopService()
|
||||
{
|
||||
QString service = _lvStartup->selectedItems().at(0)->data( StartupService, LibraryRole ).toString();
|
||||
kDebug() << "Stopping: " << service;
|
||||
|
||||
QDBusInterface kdedInterface( "org.kde.kded", "/kded", "org.kde.kded" );
|
||||
QDBusReply<bool> reply = kdedInterface.call( "unloadModule", service );
|
||||
|
||||
if ( reply.isValid() ) {
|
||||
if ( reply.value() )
|
||||
slotServiceRunningToggled();
|
||||
else
|
||||
KMessageBox::error(this, "<qt>" + i18n("Unable to stop server <em>%1</em>.", service) + "</qt>");
|
||||
}
|
||||
else {
|
||||
KMessageBox::error(this, "<qt>" + i18n("Unable to stop service <em>%1</em>.<br /><br /><i>Error: %2</i>",
|
||||
service, reply.error().message()) + "</qt>" );
|
||||
}
|
||||
}
|
||||
|
||||
void KDEDConfig::slotItemChecked(QTreeWidgetItem*, int column)
|
||||
{
|
||||
// We only listen to changes the user did.
|
||||
if (column==StartupUse) {
|
||||
emit changed(true);
|
||||
}
|
||||
}
|
||||
|
252
kcontrol/kded/kcmkded.desktop
Normal file
252
kcontrol/kded/kcmkded.desktop
Normal file
|
@ -0,0 +1,252 @@
|
|||
[Desktop Entry]
|
||||
Exec=kcmshell4 kcmkded
|
||||
Icon=preferences-system-session-services
|
||||
Type=Service
|
||||
X-KDE-ServiceTypes=KCModule
|
||||
|
||||
X-KDE-Library=kcm_kded
|
||||
X-KDE-ParentApp=kcontrol
|
||||
|
||||
X-KDE-System-Settings-Parent-Category=startup-and-shutdown
|
||||
X-DocPath=kcontrol/kded/index.html
|
||||
|
||||
Name=Service Manager
|
||||
Name[af]=Diens Bestuurder
|
||||
Name[ar]=مدير الخدمات
|
||||
Name[ast]=Xestor de servicios
|
||||
Name[be]=Кіраўнік сервісаў
|
||||
Name[be@latin]=Kiraŭnik słužbaŭ
|
||||
Name[bg]=Системни услуги
|
||||
Name[bn]=সার্ভিস ম্যানেজার
|
||||
Name[bn_IN]=পরিসেবা পরিচালনব্যবস্থা
|
||||
Name[br]=Merour ar servijoù
|
||||
Name[bs]=Menadžer servisa
|
||||
Name[ca]=Gestor del servei
|
||||
Name[ca@valencia]=Gestor del servei
|
||||
Name[cs]=Správce služeb
|
||||
Name[csb]=Menadżera ùsłëżnotów
|
||||
Name[cy]=Rheolydd Gwasanaethau
|
||||
Name[da]=Tjenestehåndtering
|
||||
Name[de]=Diensteverwaltung
|
||||
Name[el]=Διαχειριστής υπηρεσιών
|
||||
Name[en_GB]=Service Manager
|
||||
Name[eo]=Servadministrilo
|
||||
Name[es]=Gestor de servicios
|
||||
Name[et]=Teenuste haldur
|
||||
Name[eu]=Zerbitzu-kudeatzailea
|
||||
Name[fa]=مدیر خدمت
|
||||
Name[fi]=Palvelunhallinta
|
||||
Name[fr]=Gestionnaire de services
|
||||
Name[fy]=KDE-systeemtsjinsten
|
||||
Name[ga]=Bainisteoir Seirbhíse
|
||||
Name[gl]=Xestor de servizos
|
||||
Name[gu]=સેવા વ્યવસ્થાપક
|
||||
Name[he]=מנהל השירותים
|
||||
Name[hi]=सेवा प्रबंधक
|
||||
Name[hne]=सेवा प्रबंधक
|
||||
Name[hr]=Upravljanje uslugama
|
||||
Name[hsb]=Słužbowy manager
|
||||
Name[hu]=Szolgáltatások
|
||||
Name[ia]=Gerente de servicio
|
||||
Name[id]=Manajer Layanan
|
||||
Name[is]=Þjónustustjóri
|
||||
Name[it]=Gestione dei servizi
|
||||
Name[ja]=サービスマネージャ
|
||||
Name[ka]=სერვის მენეჯერი
|
||||
Name[kk]=Қызметтерді басқару
|
||||
Name[km]=កម្មវិធីគ្រប់គ្រងសេវា
|
||||
Name[kn]=ಸೇವಾ ವ್ಯವಸ್ಥಾಪಕ
|
||||
Name[ko]=서비스 관리자
|
||||
Name[ku]=Gerînendeyê Servîsê
|
||||
Name[lt]=Tarnybų tvarkyklė
|
||||
Name[lv]=Servisu pārvaldnieks
|
||||
Name[mai]=सेवा प्रबंधक
|
||||
Name[mk]=Менаџер на сервиси
|
||||
Name[ml]=സേവനങ്ങളുടെ നടത്തിപ്പുകാരന്
|
||||
Name[mr]=सेवा व्यवस्थापक
|
||||
Name[ms]=Pengurus Servis
|
||||
Name[nb]=Tjenestebehandler
|
||||
Name[nds]=Deenstpleger
|
||||
Name[ne]=सेवा प्रबन्धक
|
||||
Name[nl]=KDE-systeemdiensten
|
||||
Name[nn]=Tenester
|
||||
Name[or]=ସର୍ଭିସ ପରିଚାଳକ
|
||||
Name[pa]=ਸਰਵਿਸਾਂ ਮੈਨੇਜਰ
|
||||
Name[pl]=Zarządzanie usługami
|
||||
Name[pt]=Gestor de Serviços
|
||||
Name[pt_BR]=Gerenciador de serviços
|
||||
Name[ro]=Administratorul de servicii
|
||||
Name[ru]=Управление службами
|
||||
Name[se]=Bálvalusgieđahalli
|
||||
Name[si]=සේවා කළමණාකරු
|
||||
Name[sk]=Správca služieb
|
||||
Name[sl]=Upravljalnik storitev
|
||||
Name[sr]=Менаџер сервиса
|
||||
Name[sr@ijekavian]=Менаџер сервиса
|
||||
Name[sr@ijekavianlatin]=Menadžer servisa
|
||||
Name[sr@latin]=Menadžer servisa
|
||||
Name[sv]=Tjänsthanterare
|
||||
Name[ta]=சேவை நிர்வாகம்
|
||||
Name[te]=సేవా నిర్వాహకి
|
||||
Name[tg]=Мудири хизматҳо
|
||||
Name[th]=จัดการบริการ
|
||||
Name[tr]=Servis Yöneticisi
|
||||
Name[ug]=مۇلازىمەت باشقۇرغۇچ
|
||||
Name[uk]=Менеджер служб
|
||||
Name[uz]=Xizmat boshqaruvchisi
|
||||
Name[uz@cyrillic]=Хизмат бошқарувчиси
|
||||
Name[vi]=Trình quản lý dịch vụ
|
||||
Name[wa]=Manaedjeu di siervices
|
||||
Name[xh]=Umphathi Wenkonzo
|
||||
Name[x-test]=xxService Managerxx
|
||||
Name[zh_CN]=服务管理器
|
||||
Name[zh_TW]=服務管理程式
|
||||
Comment=KDE Services Configuration
|
||||
Comment[af]=KDE Stelseldienste Opstelling
|
||||
Comment[ar]=ضبط خدمات كدي
|
||||
Comment[ast]=Configuración de los servicios de KDE
|
||||
Comment[be]=Настаўленні сістэмных сервісаў
|
||||
Comment[be@latin]=Naładžvańnie słužbaŭ KDE
|
||||
Comment[bg]=Настройване на системните услуги
|
||||
Comment[bn]=কে.ডি.ই. সার্ভিস কনফিগারেশন
|
||||
Comment[bn_IN]=KDE পরিসেবা কনফিগারেশন
|
||||
Comment[bs]=Postava KDE‑ovih servisa
|
||||
Comment[ca]=Configuració dels serveis del KDE
|
||||
Comment[ca@valencia]=Configuració dels serveis del KDE
|
||||
Comment[cs]=Nastavení KDE služeb
|
||||
Comment[csb]=Kònfigùracëjô systemòwëch ùsłëżnotów
|
||||
Comment[da]=Konfiguration af KDE-tjenester
|
||||
Comment[de]=Einrichtung von KDE-Systemdiensten
|
||||
Comment[el]=Διαμόρφωση υπηρεσιών του KDE
|
||||
Comment[en_GB]=KDE Services Configuration
|
||||
Comment[eo]=Agordoj de servoj de KDE
|
||||
Comment[es]=Configuración de los servicios de KDE
|
||||
Comment[et]=KDE teenuste seadistamine
|
||||
Comment[eu]=KDE zerbitzuen konfigurazioa
|
||||
Comment[fa]=پیکربندی خدمات KDE
|
||||
Comment[fi]=KDE-palveluiden asetukset
|
||||
Comment[fr]=Configuration des services KDE
|
||||
Comment[fy]=KDE-tsjinstbehearder
|
||||
Comment[ga]=Cumraíocht Seirbhísí KDE
|
||||
Comment[gl]=Configuración dos servizos de KDE
|
||||
Comment[gu]=KDE સેવા રૂપરેખાંકન
|
||||
Comment[he]=שינוי הגדרות שירותי KDE
|
||||
Comment[hi]=केडीई सेवा कॉन्फ़िगरेशन
|
||||
Comment[hne]=केडीई सेवा कान्फिगरेसन
|
||||
Comment[hr]=Konfiguracija KDE usluga
|
||||
Comment[hsb]=Připrawjenje KDE-słužbow
|
||||
Comment[hu]=A KDE szolgáltatások beállításai
|
||||
Comment[ia]=Configuration de servicios de KDE
|
||||
Comment[id]=Konfigurasi Layanan KDE
|
||||
Comment[is]=Stillingar KDE kerfisþjónusta
|
||||
Comment[it]=Configurazione dei servizi di KDE
|
||||
Comment[ja]=KDE サービスの設定
|
||||
Comment[kk]=KDE қызметтерін баптау
|
||||
Comment[km]=ការកំណត់រចនាសម្ព័ន្ធសេវារបស់ KDE
|
||||
Comment[kn]=ಕೆಡಿಇ ಸೇವೆಗಳ ಸಂರಚನೆ
|
||||
Comment[ko]=KDE 서비스 설정
|
||||
Comment[ku]=Veavakirina Xizmetên KDE
|
||||
Comment[lt]=KDE tarnybų konfigūravimas
|
||||
Comment[lv]=KDE servisu konfigurācija
|
||||
Comment[mai]=केडीई सेवा कान्फिगरेशन
|
||||
Comment[mk]=Конфигурација на сервисите на KDE
|
||||
Comment[ml]=കെഡിഇ സേവനങ്ങളുടെ ക്രമീകരണം
|
||||
Comment[mr]=केडीई सेवा संयोजना
|
||||
Comment[nb]=KDEs tjenesteinnstillinger
|
||||
Comment[nds]=KDE-Systeemdeensten instellen
|
||||
Comment[ne]=केडीई सेवा कन्फिगरेसन
|
||||
Comment[nl]=KDE-systeemdiensten instellen
|
||||
Comment[nn]=Oppsett av KDE-systemtenester
|
||||
Comment[or]=KDE ସର୍ଭିସଗୁଡ଼ିକର ସଂରଚନା
|
||||
Comment[pa]=KDE ਸਰਵਿਸ ਸੰਰਚਨਾ
|
||||
Comment[pl]=Ustawienia usług KDE
|
||||
Comment[pt]=Configuração dos Serviços do KDE
|
||||
Comment[pt_BR]=Configuração dos serviços do KDE
|
||||
Comment[ro]=Configurare servicii KDE
|
||||
Comment[ru]=Настройка служб KDE
|
||||
Comment[se]=KDE-bálvalusaid heiveheapmi
|
||||
Comment[si]=KDE සේවා සැකසීම
|
||||
Comment[sk]=Nastavenie KDE služieb
|
||||
Comment[sl]=Nastavitve storitev KDE
|
||||
Comment[sr]=Постава КДЕ‑ових сервиса
|
||||
Comment[sr@ijekavian]=Постава КДЕ‑ових сервиса
|
||||
Comment[sr@ijekavianlatin]=Postava KDE‑ovih servisa
|
||||
Comment[sr@latin]=Postava KDE‑ovih servisa
|
||||
Comment[sv]=Anpassa KDE:s tjänster
|
||||
Comment[ta]=கேபசூ சேவைகள் வடிவமைப்பு
|
||||
Comment[te]=KDE సేవల ఆకృతీకరణ
|
||||
Comment[tg]=Танзимоти хизматҳои системаи KDE
|
||||
Comment[th]=ปรับแต่งบริการต่าง ๆ ของ KDE
|
||||
Comment[tr]=KDE Servis Yapılandırmaları
|
||||
Comment[ug]=KDE مۇلازىمەت سەپلىمە
|
||||
Comment[uk]=Налаштування служб KDE
|
||||
Comment[uz]=KDE xizmatlarini moslash
|
||||
Comment[uz@cyrillic]=KDE хизматларини мослаш
|
||||
Comment[vi]=Cấu hình Dịch vụ KDE
|
||||
Comment[wa]=Apontiaedje des siervices di KDE
|
||||
Comment[x-test]=xxKDE Services Configurationxx
|
||||
Comment[zh_CN]=KDE 服务配置
|
||||
Comment[zh_TW]=KDE 系統服務組態
|
||||
X-KDE-Keywords=KDED,Daemon,Services
|
||||
X-KDE-Keywords[ar]=كدي دي,عفريت,خدمات
|
||||
X-KDE-Keywords[bg]=KDED,Daemon,Services,Услуги
|
||||
X-KDE-Keywords[bn]=KDED,Daemon,Services
|
||||
X-KDE-Keywords[bs]=KDED,Daemon,Services,demon,usluge
|
||||
X-KDE-Keywords[ca]=KDED,Dimoni,Serveis
|
||||
X-KDE-Keywords[ca@valencia]=KDED,Dimoni,Serveis
|
||||
X-KDE-Keywords[cs]=KDED,Démon,Služby
|
||||
X-KDE-Keywords[da]=KDED,dæmon,tjenester
|
||||
X-KDE-Keywords[de]=KDED,Dienst,Services,Dienste
|
||||
X-KDE-Keywords[el]=KDED,Daemon,Services
|
||||
X-KDE-Keywords[en_GB]=KDED,Daemon,Services
|
||||
X-KDE-Keywords[eo]=KDED,Demono,Servoj
|
||||
X-KDE-Keywords[es]=KDED,Demonio,Servicios
|
||||
X-KDE-Keywords[et]=KDED,deemon,teenused
|
||||
X-KDE-Keywords[eu]=KDED,daemon-a,zerbitzuak
|
||||
X-KDE-Keywords[fa]=KDED,Daemon,Services
|
||||
X-KDE-Keywords[fi]=KDED,Palvelu,Taustaprosessi,Palvelin,Palvelut
|
||||
X-KDE-Keywords[fr]=KDED, Démon, Services
|
||||
X-KDE-Keywords[ga]=KDED,Deamhan,Seirbhísí
|
||||
X-KDE-Keywords[gl]=KDED, Daemon, Servizos
|
||||
X-KDE-Keywords[gu]=KDED,ડેમન,સેવાઓ
|
||||
X-KDE-Keywords[he]=KDED,Daemon,Services,שירותים
|
||||
X-KDE-Keywords[hi]=KDED,डेमन सेवाएँ
|
||||
X-KDE-Keywords[hu]=KDED,Démon,Szolgáltatások
|
||||
X-KDE-Keywords[ia]=KDED,Daemon,Servicios
|
||||
X-KDE-Keywords[id]=KDED,Jurik,Layanan
|
||||
X-KDE-Keywords[is]=KDED,Þjónusta,Þjónustur
|
||||
X-KDE-Keywords[it]=KDED,demone,servizi
|
||||
X-KDE-Keywords[ja]=KDED,Daemon,Services
|
||||
X-KDE-Keywords[kk]=KDED,Daemon,Services
|
||||
X-KDE-Keywords[km]=KDED ដេមិន សេវាកម្ម
|
||||
X-KDE-Keywords[ko]=KDED,Daemon,Services,데몬,서비스
|
||||
X-KDE-Keywords[lv]=KDED,dēmons,servisi
|
||||
X-KDE-Keywords[mr]=केडीईD, डीमन, सेवा
|
||||
X-KDE-Keywords[nb]=KDED,Daemon,Tjenester
|
||||
X-KDE-Keywords[nds]=KDED,Dämoon,Deensten
|
||||
X-KDE-Keywords[nl]=KDED,daemon,services
|
||||
X-KDE-Keywords[nn]=KDED,Daemon,Services,tenester
|
||||
X-KDE-Keywords[pa]=KDED,ਡੈਮਨ,ਸਰਵਿਸਾਂ
|
||||
X-KDE-Keywords[pl]=KDED,Demon,Usługi
|
||||
X-KDE-Keywords[pt]=KDED,Servidor,Serviços
|
||||
X-KDE-Keywords[pt_BR]=KDED,Servidor,Serviços
|
||||
X-KDE-Keywords[ro]=KDED,Servicii,Demon
|
||||
X-KDE-Keywords[ru]=KDED,Daemon,Services,фоновая служба,демон,служба
|
||||
X-KDE-Keywords[sk]=KDED,Démon,Služby
|
||||
X-KDE-Keywords[sl]=KDED,ozadnji program,storitve
|
||||
X-KDE-Keywords[sr]=KDED,Daemon,Services,КДЕД,демон,сервис
|
||||
X-KDE-Keywords[sr@ijekavian]=KDED,Daemon,Services,КДЕД,демон,сервис
|
||||
X-KDE-Keywords[sr@ijekavianlatin]=KDED,Daemon,Services,KDED,demon,servis
|
||||
X-KDE-Keywords[sr@latin]=KDED,Daemon,Services,KDED,demon,servis
|
||||
X-KDE-Keywords[sv]=KDED,Demon,Tjänster
|
||||
X-KDE-Keywords[tg]=KDED,Демонҳо,Хидматҳо
|
||||
X-KDE-Keywords[tr]=KDED,Servis,Servisler
|
||||
X-KDE-Keywords[ug]=KDED،Daemon، مۇلازىمەتلەر
|
||||
X-KDE-Keywords[uk]=KDED;Daemon;Services;служба;служби;фонова служба;фонові служби
|
||||
X-KDE-Keywords[vi]=KDED,Trình nền,Dịch vụ, Daemon,Services
|
||||
X-KDE-Keywords[wa]=KDED,Démon,Demon,Siervices
|
||||
X-KDE-Keywords[x-test]=xxKDED,Daemon,Servicesxx
|
||||
X-KDE-Keywords[zh_CN]=KDED,Daemon,Services,服务,后台进程
|
||||
X-KDE-Keywords[zh_TW]=KDED,Daemon,Services
|
||||
|
||||
Categories=Qt;KDE;X-KDE-settings-components;
|
64
kcontrol/kded/kcmkded.h
Normal file
64
kcontrol/kded/kcmkded.h
Normal file
|
@ -0,0 +1,64 @@
|
|||
/* This file is part of the KDE project
|
||||
Copyright (C) 2002 Daniel Molkentin <molkentin@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; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
#ifndef KCMKDED_H
|
||||
#define KCMKDED_H
|
||||
|
||||
#include <kcmodule.h>
|
||||
|
||||
class QPushButton;
|
||||
class QTreeWidget;
|
||||
class QTreeWidgetItem;
|
||||
class KConfig;
|
||||
|
||||
class KDEDConfig : public KCModule
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit KDEDConfig(QWidget* parent, const QVariantList& foo = QVariantList());
|
||||
~KDEDConfig() {}
|
||||
|
||||
void load();
|
||||
void save();
|
||||
void defaults();
|
||||
|
||||
protected Q_SLOTS:
|
||||
void slotReload();
|
||||
void slotStartService();
|
||||
void slotStopService();
|
||||
void slotServiceRunningToggled();
|
||||
void slotStartupItemSelected();
|
||||
void slotLodItemSelected();
|
||||
void slotItemChecked(QTreeWidgetItem *item, int column);
|
||||
void getServiceStatus();
|
||||
|
||||
bool autoloadEnabled(KConfig *config, const QString &filename);
|
||||
void setAutoloadEnabled(KConfig *config, const QString &filename, bool b);
|
||||
|
||||
private:
|
||||
QTreeWidget *_lvLoD;
|
||||
QTreeWidget *_lvStartup;
|
||||
QPushButton *_pbStart;
|
||||
QPushButton *_pbStop;
|
||||
|
||||
QString RUNNING;
|
||||
QString NOT_RUNNING;
|
||||
};
|
||||
|
||||
#endif // KCMKDED_H
|
||||
|
0
kcontrol/knotify/CHANGES
Normal file
0
kcontrol/knotify/CHANGES
Normal file
21
kcontrol/knotify/CMakeLists.txt
Normal file
21
kcontrol/knotify/CMakeLists.txt
Normal file
|
@ -0,0 +1,21 @@
|
|||
|
||||
########### next target ###############
|
||||
|
||||
set(kcm_knotify_PART_SRCS knotify.cpp )
|
||||
|
||||
|
||||
kde4_add_ui_files(kcm_knotify_PART_SRCS playersettings.ui )
|
||||
|
||||
kde4_add_plugin(kcm_knotify ${kcm_knotify_PART_SRCS})
|
||||
|
||||
|
||||
target_link_libraries(kcm_knotify ${KDE4_KIO_LIBS} ${KDE4_KNOTIFYCONFIG_LIBS} ${QT_QTGUI_LIBRARY} )
|
||||
|
||||
install(TARGETS kcm_knotify DESTINATION ${PLUGIN_INSTALL_DIR} )
|
||||
|
||||
|
||||
########### install files ###############
|
||||
|
||||
install( FILES kcmnotify.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
|
||||
|
||||
|
3
kcontrol/knotify/Messages.sh
Normal file
3
kcontrol/knotify/Messages.sh
Normal file
|
@ -0,0 +1,3 @@
|
|||
#! /usr/bin/env bash
|
||||
$EXTRACTRC *.ui >> rc.cpp
|
||||
$XGETTEXT *.cpp -o $podir/kcmnotify.pot
|
2
kcontrol/knotify/README
Normal file
2
kcontrol/knotify/README
Normal file
|
@ -0,0 +1,2 @@
|
|||
This is a KDE Control Center Module for configuring system notifications
|
||||
|
237
kcontrol/knotify/kcmnotify.desktop
Normal file
237
kcontrol/knotify/kcmnotify.desktop
Normal file
|
@ -0,0 +1,237 @@
|
|||
[Desktop Entry]
|
||||
Exec=kcmshell4 kcmnotify
|
||||
Icon=preferences-desktop-notification
|
||||
Type=Service
|
||||
X-KDE-ServiceTypes=KCModule
|
||||
X-DocPath=kcontrol/kcmnotify/index.html
|
||||
|
||||
X-KDE-Library=kcm_knotify
|
||||
X-KDE-ParentApp=kcontrol
|
||||
|
||||
X-KDE-System-Settings-Parent-Category=application-and-system-notifications
|
||||
X-KDE-Weight=50
|
||||
|
||||
Name=Manage Notifications
|
||||
Name[ar]=أدر التنبيهات
|
||||
Name[ast]=Xestionar notificaciones
|
||||
Name[bg]=Управление на уведомяването
|
||||
Name[bn]=বিজ্ঞপ্তি ব্যবস্থাপনা
|
||||
Name[bs]=Upravljanje obavještenjima
|
||||
Name[ca]=Gestiona les notificacions
|
||||
Name[ca@valencia]=Gestiona les notificacions
|
||||
Name[cs]=Oznamování hardwaru
|
||||
Name[da]=Håndtér bekendtgørelser
|
||||
Name[de]=Benachrichtigungen verwalten
|
||||
Name[el]=Διαχείριση ειδοποιήσεων
|
||||
Name[en_GB]=Manage Notifications
|
||||
Name[eo]=Mastrumi atentigojn
|
||||
Name[es]=Gestionar notificaciones
|
||||
Name[et]=Märguannete haldamine
|
||||
Name[eu]=Jakinarazpenak kudeatzea
|
||||
Name[fa]=مدیریت اخطارها
|
||||
Name[fi]=Ilmoitusten asetukset
|
||||
Name[fr]=Gérer les notifications
|
||||
Name[ga]=Bainistigh Fógairt
|
||||
Name[gl]=Xestión das notificacións
|
||||
Name[gu]=નોંધણીઓની વ્યવસ્થા કરો
|
||||
Name[he]=ניהול הודעות
|
||||
Name[hi]=सूचनाएँ प्रबंधिक करें
|
||||
Name[hr]=Upravljanje obavijestima
|
||||
Name[hu]=Értesítések kezelése
|
||||
Name[ia]=Administra notificationes
|
||||
Name[id]=Atur Notifikasi
|
||||
Name[is]=Sýsla með kerfistilkynningar
|
||||
Name[it]=Gestisci le notifiche
|
||||
Name[ja]=通知の管理
|
||||
Name[kk]=Құлақтандыруларды басқару
|
||||
Name[km]=គ្រប់គ្រងការជូនដំណឹង
|
||||
Name[kn]=ಸೂಚನೆಗಳನ್ನು ನಿರ್ವಹಿಸು
|
||||
Name[ko]=알림 관리
|
||||
Name[lt]=Tvarkyti pranešimus
|
||||
Name[lv]=Pārvaldīt paziņojumus
|
||||
Name[mai]=सूचनासभक प्रबंधित करू
|
||||
Name[ml]=അറിയിപ്പുകള് കൈകാര്യം ചെയ്യുക
|
||||
Name[mr]=सूचना नियंत्रीत करा
|
||||
Name[nb]=Håndter varslinger
|
||||
Name[nds]=Bescheden plegen
|
||||
Name[nl]=Meldingen beheren
|
||||
Name[nn]=Handsam varslingar
|
||||
Name[pa]=ਨੋਟੀਫਿਕੇਸ਼ਨ ਪਰਬੰਧ
|
||||
Name[pl]=Zarządzanie powiadomieniami
|
||||
Name[pt]=Gerir as Notificações
|
||||
Name[pt_BR]=Gerenciar notificações
|
||||
Name[ro]=Gestiune notificări
|
||||
Name[ru]=Системные уведомления
|
||||
Name[si]=දැනුම් දීම් කළමනාකරනය කරන්න
|
||||
Name[sk]=Správa upozornení
|
||||
Name[sl]=Upravljanje obvestil
|
||||
Name[sr]=Управљање обавештењима
|
||||
Name[sr@ijekavian]=Управљање обавјештењима
|
||||
Name[sr@ijekavianlatin]=Upravljanje obavještenjima
|
||||
Name[sr@latin]=Upravljanje obaveštenjima
|
||||
Name[sv]=Hantera underrättelser
|
||||
Name[tg]=Идоракунии огоҳиномаҳо
|
||||
Name[th]=จัดการการแจ้งให้ทราบต่าง ๆ
|
||||
Name[tr]=Bildirimleri Yönet
|
||||
Name[ug]=باشقۇرۇش ئۇقتۇرۇشى
|
||||
Name[uk]=Керування сповіщеннями
|
||||
Name[vi]=Quản lý các thông báo
|
||||
Name[wa]=Manaedjî les notifiaedjes
|
||||
Name[x-test]=xxManage Notificationsxx
|
||||
Name[zh_CN]=管理通知
|
||||
Name[zh_TW]=管理通知
|
||||
Comment=System Notification Configuration
|
||||
Comment[af]=Stelsel Inkennisstelling Opstelling
|
||||
Comment[ar]=ضبط تنبيهات النظام
|
||||
Comment[ast]=Configuración de les notificaciones del sistema
|
||||
Comment[be]=Настаўленні сістэмных абвяшчэнняў
|
||||
Comment[be@latin]=Naładžvańnie systemnaha infarmavańnia
|
||||
Comment[bg]=Настройване на системата за уведомяване
|
||||
Comment[bn]=সিস্টেম বিজ্ঞপ্তি কনফিগারেশন
|
||||
Comment[bn_IN]=সিস্টেম সংক্রান্ত সূচনাবার্তা কনফিগারেশন
|
||||
Comment[br]=Kefluniañ kemenn ar reizhiad
|
||||
Comment[bs]=Postava sistemskih obavještenja
|
||||
Comment[ca]=Configuració de les notificacions del sistema
|
||||
Comment[ca@valencia]=Configuració de les notificacions del sistema
|
||||
Comment[cs]=Nastavení systémových hlášení
|
||||
Comment[csb]=Kònfigùracëjô systemòwegò dôwaniô wiédzë
|
||||
Comment[cy]=Ffurfweddu Hysbysiadau Cysawd
|
||||
Comment[da]=Konfiguration af systembekendtgørelser
|
||||
Comment[de]=Einrichtung der Systemnachrichten
|
||||
Comment[el]=Διαμόρφωση ειδοποιήσεων συστήματος
|
||||
Comment[en_GB]=System Notification Configuration
|
||||
Comment[eo]=Agordoj de sistemaj atentigoj
|
||||
Comment[es]=Configuración de las notificaciones del sistema
|
||||
Comment[et]=Süsteemsete märguannete seadistamine
|
||||
Comment[eu]=Sistemaren jakinarazpenaren konfigurazioa
|
||||
Comment[fa]=پیکربندی اخطارهای سیستم
|
||||
Comment[fi]=Järjestelmäilmoitusten asetukset
|
||||
Comment[fr]=Configuration du système de notifications
|
||||
Comment[fy]=Ynstellings fan de systeemoankundigingen
|
||||
Comment[ga]=Cumraíocht Fhógairt an Chórais
|
||||
Comment[gl]=Configuración das notificacións do sistema
|
||||
Comment[gu]=સિસ્ટમ નોંધણી રૂપરેખાંકન
|
||||
Comment[he]=שינוי הגדרות של הודעות המערכת
|
||||
Comment[hi]=तंत्र सूचना कॉन्फ़िगरेशन
|
||||
Comment[hne]=तंत्र सूचना कान्फिगरेसन
|
||||
Comment[hr]=Konfiguriranje obavijesti sustava
|
||||
Comment[hsb]=Připrawjenje systemowych powěsćow
|
||||
Comment[hu]=A rendszerüzenetek beállítása
|
||||
Comment[ia]=Configuration de notification de systema
|
||||
Comment[id]=Konfigurasi Notifikasi Sistem
|
||||
Comment[is]=Stillingar tilkynninga frá kerfinu
|
||||
Comment[it]=Configurazione delle notifiche di sistema
|
||||
Comment[ja]=システム通知の設定
|
||||
Comment[ka]=სისტემური შეტყობინებების კონფიგურაცია
|
||||
Comment[kk]=Жүйелік құлақтандыруларды баптау
|
||||
Comment[km]=ការកំណត់រចនាសម្ព័ន្ធការជូនដំណឹងប្រព័ន្ធ
|
||||
Comment[kn]=ವ್ಯವಸ್ಥೆಯ ಸೂಚನೆಗಳ ಸಂರಚನೆ
|
||||
Comment[ko]=시스템 알림 설정
|
||||
Comment[ku]=Mîhengên Hişyarkirinên Pergalê
|
||||
Comment[lt]=Sistemos pranešimų derinimas
|
||||
Comment[lv]=Sistēmas paziņojumu konfigurēšana
|
||||
Comment[mai]=तंत्र सूचना कान्फिगरेशन
|
||||
Comment[mk]=Конфигурација на системските известувања
|
||||
Comment[ml]=സിസ്റ്റം അറിയിപ്പുകളുടെ ക്രമീകരണം
|
||||
Comment[mr]=प्रणाली सूचना संयोजना
|
||||
Comment[ms]=Konfigurasi Pemberitahuan Sistem
|
||||
Comment[nb]=Oppsett av systemvarsling
|
||||
Comment[nds]=Systeemnarichten instellen
|
||||
Comment[ne]=प्रणाली सूचना कन्फिगरेसन
|
||||
Comment[nl]=Systeemnotificatie instellen
|
||||
Comment[nn]=Oppsett av systemvarslingar
|
||||
Comment[or]=ତନ୍ତ୍ର ବିଜ୍ଞପ୍ତି ସଂରଚନା
|
||||
Comment[pa]=ਸਿਸਟਮ ਸੂਚਨਾ ਸੰਰਚਨਾ
|
||||
Comment[pl]=Ustawienia powiadamiania systemowego
|
||||
Comment[pt]=Configuração das mensagens do sistema
|
||||
Comment[pt_BR]=Configuração das notificações do sistema
|
||||
Comment[ro]=Configurează notificările de sistem
|
||||
Comment[ru]=Настройка системных уведомлений
|
||||
Comment[se]=Heivet vuogádatmuittuhusat
|
||||
Comment[si]=පද්ධති දැනුම් දීම් සැකසීම
|
||||
Comment[sk]=Nastavenie systémových upozornení
|
||||
Comment[sl]=Nastavitev sistemskih obvestil
|
||||
Comment[sr]=Постава системских обавештења
|
||||
Comment[sr@ijekavian]=Постава системских обавјештења
|
||||
Comment[sr@ijekavianlatin]=Postava sistemskih obavještenja
|
||||
Comment[sr@latin]=Postava sistemskih obaveštenja
|
||||
Comment[sv]=Anpassa systemunderrättelser
|
||||
Comment[ta]=சாதனம் குறிப்பு அமைப்பு
|
||||
Comment[te]=సిస్టమ్ నోటీసు ఆకృతీకరణ
|
||||
Comment[tg]=Танзимоти огоҳиномаҳои система
|
||||
Comment[th]=ปรับแต่งการแจ้งให้ทราบของระบบ
|
||||
Comment[tr]=Sistem Bildirimi Yapılandırması
|
||||
Comment[ug]=سىستېما ئۇقتۇرۇش سەپلىمە
|
||||
Comment[uk]=Налаштування системних сповіщень
|
||||
Comment[uz]=Tizimning xabarnomalarini moslash
|
||||
Comment[uz@cyrillic]=Тизимнинг хабарномаларини мослаш
|
||||
Comment[vi]=Cấu hình Thông báo Hệ thống
|
||||
Comment[wa]=Apontiaedje po les notifiaedjes do sistinme
|
||||
Comment[xh]=Uqwalaselo Lwezaziso Zendlela yokusebenza
|
||||
Comment[x-test]=xxSystem Notification Configurationxx
|
||||
Comment[zh_CN]=系统通知配置
|
||||
Comment[zh_TW]=系統通知組態
|
||||
|
||||
X-KDE-Keywords=System sounds,Audio,Sound,Notify,Alerts,Notification,popups
|
||||
X-KDE-Keywords[ar]=اصوات النظام,سمعي,صوت,تبليغ,إنذارات,تنبيهات,قوائم منبثة
|
||||
X-KDE-Keywords[bg]=System sounds,Audio,Sound,Notify,Alerts,Notification,popups,Системни звуци,Звук,Уведомление
|
||||
X-KDE-Keywords[bn]=System sounds,Audio,Sound,Notify,Alerts,Notification,popups
|
||||
X-KDE-Keywords[bs]=System sounds,Audio,Sound,Notify,Alerts,Notification,popups,sistemski zvukovi,zvuk,alarmi
|
||||
X-KDE-Keywords[ca]=Sons del sistema,Àudio,So,Notificar,Alertes,Notificació,missatges emergents
|
||||
X-KDE-Keywords[ca@valencia]=Sons del sistema,Àudio,So,Notificar,Alertes,Notificació,missatges emergents
|
||||
X-KDE-Keywords[cs]=Systémové zvuky,Audio,Zvuk,Oznámení,vyskakovací okna
|
||||
X-KDE-Keywords[da]=Systemlyde,audio,lyd,meddelelser,alarmer,bekendtgørelse,pop-op
|
||||
X-KDE-Keywords[de]=Klänge,Systemklänge,Audio,Sound,Benachrichtigung,Nachricht,Alarm,Signalton,Beep
|
||||
X-KDE-Keywords[el]=Ήχοι συστήματος,ήχος,ήχος,ειδοποιώ,συναγερμός,ειδοποίηση,αναδυόμενα
|
||||
X-KDE-Keywords[en_GB]=System sounds,Audio,Sound,Notify,Alerts,Notification,popups
|
||||
X-KDE-Keywords[eo]=Sistemaj sonoj,Aŭdo,Sono,Atentigi,Avertoj,Atentigo,sprucfenestroj
|
||||
X-KDE-Keywords[es]=Sonidos del sistema,Audio,Sonido,Notificar,Alertas,Notificación,emergentes
|
||||
X-KDE-Keywords[et]=Süsteemsed helid,heli,audio,märguanne,märguanded,hüpikaknad
|
||||
X-KDE-Keywords[eu]=Sistema-soinuak,audioa,soinua,jakinarazi,alertak,jakinarazpena,pop-upak
|
||||
X-KDE-Keywords[fa]=System sounds,Audio,Sound,Notify,Alerts,Notification,popups
|
||||
X-KDE-Keywords[fi]=Järjestelmä-äänet,Ääni,Huomautukset,Ilmoitukset,Varoitukset,Hälytykset,Huomautus,Ilmoitus,Varoitus,Hälytys,ponnahdusikkunat
|
||||
X-KDE-Keywords[fr]=Sons du système, Audio, Son, Notifier, Alertes, Notification, fenêtres contextuelles
|
||||
X-KDE-Keywords[ga]=Fuaimeanna an chórais,Fuaim,Fógairt,Fógraí,preabfhuinneoga
|
||||
X-KDE-Keywords[gl]=Sons do sistema, Son, Audio, Notificación, Alertar, Notificar, emerxentes
|
||||
X-KDE-Keywords[gu]=સિસ્ટમ અવાજો,ધ્વનિ,અવાજ,નોંધ આપો,ચેતવણીઓ,નોંધણી,પોપઅપ્સ
|
||||
X-KDE-Keywords[he]=System sounds,Audio,Sound,Notify,Alerts,Notification,popups,צלילים,הודעות,שמע,תפריטים מוקפצים,הודעות
|
||||
X-KDE-Keywords[hi]=तंत्र ध्वनियां,श्रव्य, ध्वनि, सूचित, चेतावनी, अधिसूचना, पॉपअप्स
|
||||
X-KDE-Keywords[hu]=Rendszerhangok,Hang,Hang,Értesítés,Figyelmeztetés,Értesítés,felugró
|
||||
X-KDE-Keywords[ia]=Sonos de systema,Audio,Sono,Notifica,Alertas,Notification,popups
|
||||
X-KDE-Keywords[id]=Suara sistem,Audio,Suara,Beritahu,Peringatan,Notifikasi,popup
|
||||
X-KDE-Keywords[is]=Kerfishljóð,hljóð,hljóðkerfi,tilkynningar,aðvörun,tilkynning,sprettgluggi
|
||||
X-KDE-Keywords[it]=Suoni di sistema,audio,suono,notifica,avvisi,notifiche,avvisi a comparsa
|
||||
X-KDE-Keywords[ja]=System sounds,Audio,Sound,Notify,Alerts,Notification,popups
|
||||
X-KDE-Keywords[kk]=System sounds,Audio,Sound,Notify,Alerts,Notification,popups
|
||||
X-KDE-Keywords[km]=សំឡេងប្រព័ន្ធ អូឌីយ៉ូ សំឡេង ជូនដំណឹង ផ្ដល់ដំណឹង ការជូនដំណឹង លេចឡើង
|
||||
X-KDE-Keywords[ko]=System sounds,Audio,Sound,Notify,Alerts,Notification,popups,시스템 알림,소리,알림,팝업
|
||||
X-KDE-Keywords[lv]=Sistēmas skaņas,audio,skaņa,paziņot,brīdinājumi,paziņojums,uzlecošais logs
|
||||
X-KDE-Keywords[mr]=प्रणाली आवाज, आवाज, सूचना, सतर्कता, पॉपअप
|
||||
X-KDE-Keywords[nb]=Systemlyder,Audio,Lyd,Varsle,Alarm,Varslinger,oppsprett
|
||||
X-KDE-Keywords[nds]=Systeemkläng,Klang,Kläng,Systeembescheden,Alarms,Bescheden,Opdukers
|
||||
X-KDE-Keywords[nl]=Systeemgeluiden,audio,geluid,melden,alarmmelding,meldingen,pop-ups
|
||||
X-KDE-Keywords[nn]=Systemlydar,Audio,Lyd,Varsling,Meldingar,Varslingar,sprettoppvindauge
|
||||
X-KDE-Keywords[pa]=ਸਿਸਟਮ ਸਾਊਂਡ,ਆਡੀਓ,ਸਾਊਂਡ,ਨੋਟੀਫਾਈ,ਸੂਚਨਾ,ਚੇਤਾਵਨੀ,ਨੋਟੀਫਿਕੇਸ਼ਨ,ਪੋਪਅੱਪ
|
||||
X-KDE-Keywords[pl]=Dźwięki systemowe,Audio,Dźwięk,Powiadomienie,Alarmy,Powiadom,okna wyskakujące
|
||||
X-KDE-Keywords[pt]=Sons do sistema,Áudio,Som,Notificar,Alertas,Notificação,Mensagens
|
||||
X-KDE-Keywords[pt_BR]=Sons do sistema,Áudio,Som,Notificar,Alertas,Notificação,mensagens
|
||||
X-KDE-Keywords[ro]=Sunete sistem,audio,sunet,notificare,alerte,notifică,popup
|
||||
X-KDE-Keywords[ru]=System sounds,Audio,Sound,Notify,Alerts,Notification,popups,звуковая система,звук,аудио,уведомление,предупреждения,всплывающие окна
|
||||
X-KDE-Keywords[sk]=Systémové zvuky,Audio,Zvuk,Notify,Alerts,Notification,popups
|
||||
X-KDE-Keywords[sl]=sistemski zvoki,audio,zvok,obvestila,obvestilo,obveščanje,alarmi,alarm,pojavna okna,pojavno okno
|
||||
X-KDE-Keywords[sr]=System sounds,Audio,Sound,Notify,Alerts,Notification,popups,системски звукови,аудио,звук,обавештење,аларм,искакач
|
||||
X-KDE-Keywords[sr@ijekavian]=System sounds,Audio,Sound,Notify,Alerts,Notification,popups,системски звукови,аудио,звук,обавештење,аларм,искакач
|
||||
X-KDE-Keywords[sr@ijekavianlatin]=System sounds,Audio,Sound,Notify,Alerts,Notification,popups,sistemski zvukovi,audio,zvuk,obaveštenje,alarm,iskakač
|
||||
X-KDE-Keywords[sr@latin]=System sounds,Audio,Sound,Notify,Alerts,Notification,popups,sistemski zvukovi,audio,zvuk,obaveštenje,alarm,iskakač
|
||||
X-KDE-Keywords[sv]=Systemljud,Ljud,Underrätta,Varningar,Underrättelser
|
||||
X-KDE-Keywords[tg]=Системаҳои овозӣ,Аудио,Овоз,Хабар,Ҳушдор,Огоҳӣ,пайдошаванда
|
||||
X-KDE-Keywords[tr]=Sistem sesleri,Ses,Uyarı,Uyarılar,Bildirimler
|
||||
X-KDE-Keywords[ug]=سىستېما ئاۋازلىرى، ئۈن، بىلدۈرۈش، كۆرسەتمە، ئۇقتۇرۇشلار، سەكرىمىلەر
|
||||
X-KDE-Keywords[uk]=System sounds;Audio;Sound;Notify;Alerts;Notification;popups;звук;система;системні звуки;звуки системи;сповіщення;нагадування;підказки;контекст
|
||||
X-KDE-Keywords[vi]=Âm thanh hệ thống,Âm,Âm thanh,Thông báo,Cảnh báo,Thông báo,System sounds,Audio,Sound,Notify,Alerts,Notification,popups
|
||||
X-KDE-Keywords[wa]=Sons sistinme,Sons do sistinme,Odio,Son,Notifyî,Abranles,Notifiaedje,aspitants purneas
|
||||
X-KDE-Keywords[x-test]=xxSystem sounds,Audio,Sound,Notify,Alerts,Notification,popupsxx
|
||||
X-KDE-Keywords[zh_CN]=System sounds,Audio,Sound,Notify,Alerts,Notification,popups,系统声音,声音,音效,警告,提醒,弹出消息
|
||||
X-KDE-Keywords[zh_TW]=System sounds,Audio,Sound,Notify,Alerts,Notification,popups
|
||||
|
||||
Categories=Qt;KDE;X-KDE-settings-sound;
|
298
kcontrol/knotify/knotify.cpp
Normal file
298
kcontrol/knotify/knotify.cpp
Normal file
|
@ -0,0 +1,298 @@
|
|||
/*
|
||||
Copyright (C) 2000,2002 Carsten Pfeiffer <pfeiffer@kde.org>
|
||||
Copyright (C) 2005,2006 Olivier Goffart <ogoffart at 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 Library General Public License
|
||||
along with this library; see the file COPYING.LIB. If not, write to
|
||||
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
|
||||
*/
|
||||
|
||||
#include "knotify.h"
|
||||
|
||||
#include <QLabel>
|
||||
#include <QVBoxLayout>
|
||||
#include <QHBoxLayout>
|
||||
#include <QDBusInterface>
|
||||
#include <QSortFilterProxyModel>
|
||||
#include <QStandardItemModel>
|
||||
|
||||
#include <kapplication.h>
|
||||
#include <kaboutdata.h>
|
||||
#include <kcombobox.h>
|
||||
#include <kconfig.h>
|
||||
#include <knotifyconfigwidget.h>
|
||||
#include <kpluginfactory.h>
|
||||
#include <kpluginloader.h>
|
||||
#include <kstandarddirs.h>
|
||||
#include <kurlcompletion.h>
|
||||
#include <kurlrequester.h>
|
||||
|
||||
#include "ui_playersettings.h"
|
||||
|
||||
static const int COL_FILENAME = 1;
|
||||
|
||||
K_PLUGIN_FACTORY( NotifyFactory, registerPlugin<KCMKNotify>(); )
|
||||
K_EXPORT_PLUGIN( NotifyFactory("kcmnotify") )
|
||||
|
||||
KCMKNotify::KCMKNotify(QWidget *parent, const QVariantList & )
|
||||
: KCModule(NotifyFactory::componentData(), parent/*, name*/),
|
||||
m_playerSettings( 0L )
|
||||
{
|
||||
setButtons( Help | Default | Apply );
|
||||
|
||||
setQuickHelp( i18n("<h1>System Notifications</h1>"
|
||||
"KDE allows for a great deal of control over how you "
|
||||
"will be notified when certain events occur. There are "
|
||||
"several choices as to how you are notified:"
|
||||
"<ul><li>As the application was originally designed.</li>"
|
||||
"<li>With a beep or other noise.</li>"
|
||||
"<li>Via a popup dialog box with additional information.</li>"
|
||||
"<li>By recording the event in a logfile without "
|
||||
"any additional visual or audible alert.</li>"
|
||||
"</ul>"));
|
||||
|
||||
QVBoxLayout *layout = new QVBoxLayout( this );
|
||||
layout->setMargin( 0 );
|
||||
QTabWidget *tab = new QTabWidget(this);
|
||||
layout->addWidget(tab);
|
||||
|
||||
QWidget * app_tab = new QWidget(tab);
|
||||
QVBoxLayout *app_layout = new QVBoxLayout( app_tab );
|
||||
|
||||
QLabel *label = new QLabel( i18n( "Event source:" ), app_tab );
|
||||
m_appCombo = new KComboBox( false, app_tab );
|
||||
m_appCombo->setSizeAdjustPolicy( QComboBox::AdjustToContents );
|
||||
m_appCombo->setObjectName( QLatin1String( "app combo" ) );
|
||||
|
||||
// We want to sort the combo box
|
||||
QSortFilterProxyModel *proxyModel = new QSortFilterProxyModel(this);
|
||||
proxyModel->setSourceModel(new QStandardItemModel(0, 1, proxyModel));
|
||||
// Now configure and set our sort model
|
||||
proxyModel->setSortCaseSensitivity(Qt::CaseInsensitive);
|
||||
m_appCombo->setModel(proxyModel);
|
||||
|
||||
QHBoxLayout *hbox = new QHBoxLayout();
|
||||
app_layout->addLayout( hbox );
|
||||
hbox->addWidget( label );
|
||||
hbox->addWidget( m_appCombo, 10 );
|
||||
|
||||
m_notifyWidget = new KNotifyConfigWidget( app_tab );
|
||||
app_layout->addWidget( m_notifyWidget );
|
||||
|
||||
connect( m_notifyWidget, SIGNAL(changed(bool)), this, SIGNAL(changed(bool)));
|
||||
|
||||
m_playerSettings = new PlayerSettingsDialog(tab);
|
||||
connect(m_playerSettings, SIGNAL(changed(bool)) , this, SIGNAL(changed(bool)));
|
||||
|
||||
/* general->layout()->setMargin( KDialog::marginHint() );
|
||||
hardware->layout()->setMargin( KDialog::marginHint() );*/
|
||||
tab->addTab(app_tab, i18n("&Applications"));
|
||||
tab->addTab(m_playerSettings, i18n("&Player Settings"));
|
||||
|
||||
m_appCombo->setFocus();
|
||||
|
||||
connect( m_appCombo, SIGNAL( activated( int ) ),
|
||||
SLOT( slotAppActivated( int )) );
|
||||
|
||||
KAboutData* ab = new KAboutData(
|
||||
"kcmknotify", 0, ki18n("KNotify"), "4.0",
|
||||
ki18n("System Notification Control Panel Module"),
|
||||
KAboutData::License_GPL, ki18n("(c) 2002-2006 KDE Team"));
|
||||
|
||||
ab->addAuthor( ki18n("Olivier Goffart"), KLocalizedString(), "ogoffart@kde.org" );
|
||||
ab->addAuthor( ki18n("Carsten Pfeiffer"), KLocalizedString(), "pfeiffer@kde.org" );
|
||||
ab->addCredit( ki18n("Charles Samuels"), ki18n("Original implementation"),
|
||||
"charles@altair.dhs.org" );
|
||||
setAboutData( ab );
|
||||
}
|
||||
|
||||
KCMKNotify::~KCMKNotify()
|
||||
{
|
||||
KConfig _config("knotifyrc", KConfig::NoGlobals);
|
||||
KConfigGroup config(&_config, "Misc" );
|
||||
config.writeEntry( "LastConfiguredApp", m_appCombo->currentText() );
|
||||
config.sync();
|
||||
}
|
||||
|
||||
void KCMKNotify::slotAppActivated(const int &index)
|
||||
{
|
||||
QString text( m_appCombo->itemData(index).toString() );
|
||||
m_notifyWidget->save();
|
||||
m_notifyWidget->setApplication( text );
|
||||
}
|
||||
|
||||
void KCMKNotify::slotPlayerSettings()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void KCMKNotify::defaults()
|
||||
{
|
||||
// m_notifyWidget->resetDefaults( true ); // ask user
|
||||
m_playerSettings->defaults();
|
||||
}
|
||||
void KCMKNotify::load()
|
||||
{
|
||||
//setEnabled( false );
|
||||
// setCursor( KCursor::waitCursor() );
|
||||
|
||||
m_appCombo->clear();
|
||||
// m_notifyWidget->clear();
|
||||
|
||||
QStringList fullpaths =
|
||||
KGlobal::dirs()->findAllResources("data", "*/*.notifyrc", KStandardDirs::NoDuplicates );
|
||||
|
||||
foreach (const QString &fullPath, fullpaths )
|
||||
{
|
||||
int slash = fullPath.lastIndexOf( '/' ) - 1;
|
||||
int slash2 = fullPath.lastIndexOf( '/', slash );
|
||||
QString appname= slash2 < 0 ? QString() : fullPath.mid( slash2+1 , slash-slash2 );
|
||||
if ( !appname.isEmpty() )
|
||||
{
|
||||
KConfig config(fullPath, KConfig::NoGlobals, "data" );
|
||||
KConfigGroup globalConfig( &config, QString::fromLatin1("Global") );
|
||||
QString icon = globalConfig.readEntry(QString::fromLatin1("IconName"), QString::fromLatin1("misc"));
|
||||
QString description = globalConfig.readEntry( QString::fromLatin1("Comment"), appname );
|
||||
m_appCombo->addItem( SmallIcon( icon ), description, appname );
|
||||
}
|
||||
}
|
||||
|
||||
m_appCombo->model()->sort(0);
|
||||
|
||||
/*
|
||||
KConfig config( "knotifyrc", true, false );
|
||||
config.setGroup( "Misc" );
|
||||
QString appDesc = config.readEntry( "LastConfiguredApp", "KDE System Notifications" );
|
||||
|
||||
if this code gets enabled again, make sure to apply r494965
|
||||
|
||||
if ( !appDesc.isEmpty() )
|
||||
m_appCombo->setCurrentItem( appDesc );
|
||||
|
||||
// sets the applicationEvents for KNotifyWidget
|
||||
slotAppActivated( m_appCombo->currentText() );
|
||||
|
||||
// unsetCursor(); // unsetting doesn't work. sigh.
|
||||
setEnabled( true );
|
||||
emit changed( false );
|
||||
*/
|
||||
|
||||
m_playerSettings->load();
|
||||
|
||||
if ( m_appCombo->count() > 0 ) {
|
||||
m_appCombo->setCurrentIndex(0);
|
||||
m_notifyWidget->setApplication( m_appCombo->itemData( 0 ).toString() );
|
||||
}
|
||||
|
||||
emit changed(false);
|
||||
}
|
||||
|
||||
void KCMKNotify::save()
|
||||
{
|
||||
if ( m_playerSettings )
|
||||
m_playerSettings->save();
|
||||
|
||||
m_notifyWidget->save(); // will dcop knotify about its new config
|
||||
|
||||
emit changed( true );
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////
|
||||
|
||||
PlayerSettingsDialog::PlayerSettingsDialog( QWidget *parent )
|
||||
: QWidget(parent), m_change(false)
|
||||
{
|
||||
|
||||
m_ui = new Ui::PlayerSettingsUI();
|
||||
m_ui->setupUi( this );
|
||||
|
||||
load();
|
||||
|
||||
connect( m_ui->cbExternal, SIGNAL( toggled( bool ) ), this, SLOT( externalToggled( bool ) ) );
|
||||
connect( m_ui->cbArts, SIGNAL(clicked(bool)), this, SLOT(slotChanged()));
|
||||
connect( m_ui->cbExternal, SIGNAL(clicked(bool)), this, SLOT(slotChanged()));
|
||||
connect( m_ui->cbNone, SIGNAL(clicked(bool)), this, SLOT(slotChanged()));
|
||||
connect( m_ui->volumeSlider, SIGNAL( valueChanged ( int ) ), this, SLOT( slotChanged() ) );
|
||||
connect( m_ui->reqExternal, SIGNAL( textChanged( const QString& ) ), this, SLOT( slotChanged() ) );
|
||||
m_ui->reqExternal->setMode(KFile::File|KFile::ExistingOnly|KFile::LocalOnly);
|
||||
}
|
||||
|
||||
void PlayerSettingsDialog::load()
|
||||
{
|
||||
KConfig _config( "knotifyrc", KConfig::NoGlobals );
|
||||
KConfigGroup config(&_config, "Sounds" );
|
||||
bool useExternal = config.readEntry( "Use external player", false );
|
||||
m_ui->cbExternal->setChecked( useExternal );
|
||||
m_ui->reqExternal->setUrl( config.readPathEntry( "External player", QString() ) );
|
||||
m_ui->volumeSlider->setValue( config.readEntry( "Volume", 100 ) );
|
||||
|
||||
if ( !m_ui->cbExternal->isChecked() )
|
||||
{
|
||||
m_ui->cbNone->setChecked( config.readEntry( "No sound", false ) );
|
||||
}
|
||||
emit changed( false );
|
||||
m_change=false;
|
||||
}
|
||||
|
||||
void PlayerSettingsDialog::save()
|
||||
{
|
||||
if(!m_change)
|
||||
return;
|
||||
|
||||
// see kdebase/runtime/knotify/notifybysound.h
|
||||
KConfig _config("knotifyrc", KConfig::NoGlobals);
|
||||
KConfigGroup config(&_config, "Sounds" );
|
||||
|
||||
config.writePathEntry( "External player", m_ui->reqExternal->url().path() );
|
||||
config.writeEntry( "Use external player", m_ui->cbExternal->isChecked() );
|
||||
config.writeEntry( "Volume", m_ui->volumeSlider->value() );
|
||||
config.writeEntry( "No sound", m_ui->cbNone->isChecked() );
|
||||
|
||||
config.sync();
|
||||
|
||||
QDBusInterface itr("org.kde.knotify", "/Notify", "org.kde.KNotify", QDBusConnection::sessionBus(), this);
|
||||
itr.call("reconfigure");
|
||||
m_change=false;
|
||||
}
|
||||
|
||||
|
||||
void PlayerSettingsDialog::slotChanged()
|
||||
{
|
||||
m_change=true;
|
||||
emit changed(true);
|
||||
}
|
||||
|
||||
void PlayerSettingsDialog::defaults()
|
||||
{
|
||||
m_ui->cbArts->setChecked(true);
|
||||
m_change=true;
|
||||
emit changed(true);
|
||||
}
|
||||
|
||||
void PlayerSettingsDialog::externalToggled( bool on )
|
||||
{
|
||||
if ( on )
|
||||
m_ui->reqExternal->setFocus();
|
||||
else
|
||||
m_ui->reqExternal->clearFocus();
|
||||
}
|
||||
|
||||
PlayerSettingsDialog::~ PlayerSettingsDialog( )
|
||||
{
|
||||
delete m_ui;
|
||||
}
|
||||
|
||||
#include "knotify.moc"
|
88
kcontrol/knotify/knotify.h
Normal file
88
kcontrol/knotify/knotify.h
Normal file
|
@ -0,0 +1,88 @@
|
|||
/*
|
||||
Copyright (C) 2000,2002 Carsten Pfeiffer <pfeiffer@kde.org>
|
||||
Copyright (C) 2005,2006 Olivier Goffart <ogoffart at 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 Library General Public License
|
||||
along with this library; see the file COPYING.LIB. If not, write to
|
||||
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _KNOTIFY_H
|
||||
#define _KNOTIFY_H
|
||||
|
||||
|
||||
#include <kcmodule.h>
|
||||
|
||||
class KComboBox;
|
||||
class PlayerSettingsDialog;
|
||||
namespace Ui{
|
||||
class PlayerSettingsUI;
|
||||
}
|
||||
class QPushButton;
|
||||
class KNotifyConfigWidget;
|
||||
|
||||
|
||||
class KCMKNotify : public KCModule
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
KCMKNotify(QWidget *parent, const QVariantList &);
|
||||
virtual ~KCMKNotify();
|
||||
|
||||
virtual void defaults();
|
||||
virtual void save();
|
||||
|
||||
public Q_SLOTS:
|
||||
virtual void load();
|
||||
|
||||
private Q_SLOTS:
|
||||
void slotAppActivated( const int &);
|
||||
void slotPlayerSettings();
|
||||
|
||||
private:
|
||||
|
||||
KComboBox *m_appCombo;
|
||||
KNotifyConfigWidget *m_notifyWidget;
|
||||
PlayerSettingsDialog *m_playerSettings;
|
||||
QPushButton *m_psb;
|
||||
|
||||
};
|
||||
|
||||
class PlayerSettingsDialog : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
PlayerSettingsDialog( QWidget *parent );
|
||||
~PlayerSettingsDialog();
|
||||
void load();
|
||||
void save();
|
||||
void defaults();
|
||||
|
||||
protected Q_SLOTS:
|
||||
void externalToggled( bool on );
|
||||
void slotChanged();
|
||||
|
||||
signals:
|
||||
void changed(bool);
|
||||
private:
|
||||
Ui::PlayerSettingsUI* m_ui;
|
||||
bool m_change;
|
||||
};
|
||||
|
||||
|
||||
#endif
|
288
kcontrol/knotify/playersettings.ui
Normal file
288
kcontrol/knotify/playersettings.ui
Normal file
|
@ -0,0 +1,288 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>PlayerSettingsUI</class>
|
||||
<widget class="QWidget" name="PlayerSettingsUI">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>407</width>
|
||||
<height>178</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QRadioButton" name="cbArts">
|
||||
<property name="text">
|
||||
<string>Use the &KDE sound system</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QGridLayout">
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item row="1" column="4">
|
||||
<widget class="QLabel" name="textLabel3">
|
||||
<property name="text">
|
||||
<string>100%</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<spacer>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Expanding</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>261</width>
|
||||
<height>16</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QLabel" name="textLabel2">
|
||||
<property name="text">
|
||||
<string>0%</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="textLabel4">
|
||||
<property name="text">
|
||||
<string>&Volume:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>volumeSlider</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2" colspan="3">
|
||||
<widget class="QSlider" name="volumeSlider">
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<number>10</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0" rowspan="2">
|
||||
<spacer>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>41</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="cbExternal">
|
||||
<property name="text">
|
||||
<string>&Use an external player</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout">
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<spacer>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="textLabel5">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Player:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>reqExternal</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="KUrlRequester" name="reqExternal" native="true">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||
<horstretch>10</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="cbNone">
|
||||
<property name="text">
|
||||
<string>&No audio output</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>KUrlRequester</class>
|
||||
<extends>QWidget</extends>
|
||||
<header>kurlrequester.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>cbArts</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>volumeSlider</receiver>
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>84</x>
|
||||
<y>31</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>126</x>
|
||||
<y>60</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>cbArts</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>textLabel3</receiver>
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>234</x>
|
||||
<y>34</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>308</x>
|
||||
<y>83</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>cbArts</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>textLabel4</receiver>
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>49</x>
|
||||
<y>32</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>62</x>
|
||||
<y>61</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>cbArts</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>textLabel2</receiver>
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>161</x>
|
||||
<y>27</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>108</x>
|
||||
<y>85</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>cbExternal</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>textLabel5</receiver>
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>87</x>
|
||||
<y>114</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>86</x>
|
||||
<y>143</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>cbExternal</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>reqExternal</receiver>
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>236</x>
|
||||
<y>112</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>240</x>
|
||||
<y>137</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
2
kcontrol/locale/AUTHORS
Normal file
2
kcontrol/locale/AUTHORS
Normal file
|
@ -0,0 +1,2 @@
|
|||
Matthias Hoelzer (hoelzer@physik.uni-wuerzburg.de)
|
||||
Hans Petter Bieker <bieker@kde.org>
|
19
kcontrol/locale/CMakeLists.txt
Normal file
19
kcontrol/locale/CMakeLists.txt
Normal file
|
@ -0,0 +1,19 @@
|
|||
|
||||
add_subdirectory( pics )
|
||||
|
||||
########### next target ###############
|
||||
|
||||
set(kcm_locale_PART_SRCS kcmlocale.cpp)
|
||||
|
||||
kde4_add_ui_files(kcm_locale_PART_SRCS kcmlocalewidget.ui )
|
||||
|
||||
kde4_add_plugin(kcm_locale ${kcm_locale_PART_SRCS})
|
||||
|
||||
target_link_libraries(kcm_locale ${KDE4_KIO_LIBS} ${QT_QTGUI_LIBRARY} )
|
||||
|
||||
install(TARGETS kcm_locale DESTINATION ${PLUGIN_INSTALL_DIR} )
|
||||
|
||||
########### install files ###############
|
||||
|
||||
install( FILES language.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
|
||||
|
3
kcontrol/locale/Messages.sh
Normal file
3
kcontrol/locale/Messages.sh
Normal file
|
@ -0,0 +1,3 @@
|
|||
#! /usr/bin/env bash
|
||||
$EXTRACTRC *.ui >> rc.cpp
|
||||
$XGETTEXT -ktranslate:1,1t -ktranslate:1c,2,2t *.cpp -o $podir/kcmlocale.pot
|
365
kcontrol/locale/countryselectordialog.cpp
Normal file
365
kcontrol/locale/countryselectordialog.cpp
Normal file
|
@ -0,0 +1,365 @@
|
|||
/***************************************************************************
|
||||
* Copyright (C) 2007 by Albert Astals Cid <aacid@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. *
|
||||
***************************************************************************/
|
||||
|
||||
#include "countryselectordialog.h"
|
||||
|
||||
#include "kcontrollocale.h"
|
||||
|
||||
#include <KStandardDirs>
|
||||
|
||||
#include <QAbstractItemModel>
|
||||
#include <QHBoxLayout>
|
||||
#include <QKeyEvent>
|
||||
#include <QListView>
|
||||
#include <QScrollBar>
|
||||
|
||||
struct CountryModelItem
|
||||
{
|
||||
CountryModelItem()
|
||||
{
|
||||
}
|
||||
|
||||
CountryModelItem( CountryModelItem *p, const QString &theText, const QString &theTag )
|
||||
: parent(p), text(theText), tag(theTag)
|
||||
{
|
||||
}
|
||||
|
||||
~CountryModelItem()
|
||||
{
|
||||
qDeleteAll(children);
|
||||
}
|
||||
|
||||
int row() const
|
||||
{
|
||||
if (parent) return parent->children.indexOf(const_cast<CountryModelItem*>(this));
|
||||
return 0;
|
||||
}
|
||||
|
||||
CountryModelItem *parent;
|
||||
QList< CountryModelItem* > children;
|
||||
|
||||
QString text, tag;
|
||||
KIcon icon;
|
||||
};
|
||||
|
||||
|
||||
|
||||
bool CountryModelItemLessThan(CountryModelItem *s1, CountryModelItem *s2)
|
||||
{
|
||||
return s1->text < s2->text;
|
||||
}
|
||||
|
||||
|
||||
|
||||
class CountryModel : public QAbstractItemModel
|
||||
{
|
||||
public:
|
||||
CountryModel(QObject *parent) : QAbstractItemModel(parent)
|
||||
{
|
||||
m_rootItem = new CountryModelItem(NULL, QString(), QString());
|
||||
}
|
||||
|
||||
CountryModel(CountryModelItem *rootItem, QObject *parent) : QAbstractItemModel(parent)
|
||||
{
|
||||
m_rootItem = rootItem;
|
||||
}
|
||||
|
||||
~CountryModel()
|
||||
{
|
||||
if (m_rootItem->parent == NULL) delete m_rootItem;
|
||||
}
|
||||
|
||||
void addRegion(const QString &name, const QString &tag)
|
||||
{
|
||||
CountryModelItem *cmi = new CountryModelItem(m_rootItem, name, tag);
|
||||
m_rootItem->children.append(cmi);
|
||||
}
|
||||
|
||||
void addSubRegion(const KIcon &flag, const QString &name, const QString &tag, const QString &superRegion)
|
||||
{
|
||||
CountryModelItem *parent = NULL;
|
||||
foreach(CountryModelItem *cm, m_rootItem->children)
|
||||
{
|
||||
if (cm->tag == superRegion) parent = cm;
|
||||
}
|
||||
if (parent)
|
||||
{
|
||||
CountryModelItem *cmi = new CountryModelItem(parent, name, tag);
|
||||
cmi->icon = flag;
|
||||
parent->children.append(cmi);
|
||||
}
|
||||
}
|
||||
|
||||
void sort()
|
||||
{
|
||||
qSort(m_rootItem->children.begin(), m_rootItem->children.end(), CountryModelItemLessThan);
|
||||
foreach(CountryModelItem *cm, m_rootItem->children)
|
||||
{
|
||||
qSort(cm->children.begin(), cm->children.end(), CountryModelItemLessThan);
|
||||
}
|
||||
}
|
||||
|
||||
int rowCount(const QModelIndex &parent) const
|
||||
{
|
||||
if (parent.column() > 0)
|
||||
return 0;
|
||||
|
||||
CountryModelItem *parentItem;
|
||||
if (!parent.isValid())
|
||||
parentItem = m_rootItem;
|
||||
else
|
||||
parentItem = static_cast<CountryModelItem*>(parent.internalPointer());
|
||||
|
||||
return parentItem->children.count();
|
||||
}
|
||||
|
||||
int columnCount(const QModelIndex &parent) const
|
||||
{
|
||||
if (!parent.isValid()) return 1;
|
||||
else
|
||||
{
|
||||
CountryModelItem *p = static_cast<CountryModelItem*>(parent.internalPointer());
|
||||
if (p->parent) return 1;
|
||||
else return 0;
|
||||
}
|
||||
}
|
||||
|
||||
QModelIndex index(int row, int column, const QModelIndex &parent) const
|
||||
{
|
||||
if (!hasIndex(row, column, parent))
|
||||
return QModelIndex();
|
||||
|
||||
CountryModelItem *parentItem;
|
||||
if (!parent.isValid())
|
||||
parentItem = m_rootItem;
|
||||
else
|
||||
parentItem = static_cast<CountryModelItem*>(parent.internalPointer());
|
||||
|
||||
CountryModelItem *childItem = parentItem->children.at(row);
|
||||
if (childItem)
|
||||
return createIndex(row, column, childItem);
|
||||
else
|
||||
return QModelIndex();
|
||||
}
|
||||
|
||||
QModelIndex parent(const QModelIndex &index) const
|
||||
{
|
||||
if (!index.isValid())
|
||||
return QModelIndex();
|
||||
|
||||
CountryModelItem *childItem = static_cast<CountryModelItem*>(index.internalPointer());
|
||||
CountryModelItem *parentItem = childItem->parent;
|
||||
|
||||
if (parentItem == m_rootItem)
|
||||
return QModelIndex();
|
||||
|
||||
return createIndex(parentItem->row(), 0, parentItem);
|
||||
}
|
||||
|
||||
QVariant data(const QModelIndex &index, int role) const
|
||||
{
|
||||
if (index.isValid())
|
||||
{
|
||||
CountryModelItem *cmi = static_cast<CountryModelItem*>(index.internalPointer());
|
||||
if (role == Qt::DisplayRole)
|
||||
{
|
||||
return cmi->text;
|
||||
}
|
||||
else if (role == Qt::DecorationRole)
|
||||
{
|
||||
if (cmi->parent->parent) return cmi->icon;
|
||||
}
|
||||
}
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
private:
|
||||
CountryModelItem *m_rootItem;
|
||||
};
|
||||
|
||||
|
||||
|
||||
class CSDListView : public QListView
|
||||
{
|
||||
public:
|
||||
CSDListView(QWidget *parent) : QListView(parent)
|
||||
{
|
||||
}
|
||||
|
||||
void setOtherWidget(QWidget *widget, Qt::Key key)
|
||||
{
|
||||
m_other = widget;
|
||||
m_key = key;
|
||||
}
|
||||
|
||||
protected:
|
||||
void keyPressEvent(QKeyEvent *event)
|
||||
{
|
||||
if (event->key() == m_key) m_other->setFocus();
|
||||
else QListView::keyPressEvent(event);
|
||||
}
|
||||
|
||||
private:
|
||||
QWidget *m_other;
|
||||
Qt::Key m_key;
|
||||
};
|
||||
|
||||
|
||||
|
||||
CountrySelectorDialog::CountrySelectorDialog(QWidget *parent) : KDialog(parent)
|
||||
{
|
||||
setCaption( i18n("Country Selector") );
|
||||
setButtons( KDialog::Ok | KDialog::Cancel );
|
||||
|
||||
QWidget *widget = new QWidget(this);
|
||||
setMainWidget(widget);
|
||||
}
|
||||
|
||||
bool CountrySelectorDialog::editCountry(KControlLocale *locale)
|
||||
{
|
||||
QHBoxLayout *hbl = new QHBoxLayout(mainWidget());
|
||||
CSDListView *lv1 = new CSDListView(mainWidget());
|
||||
m_countriesView = new CSDListView(mainWidget());
|
||||
hbl->addWidget(lv1);
|
||||
hbl->addWidget(m_countriesView);
|
||||
lv1->setOtherWidget(m_countriesView, Qt::Key_Right);
|
||||
m_countriesView->setOtherWidget(lv1, Qt::Key_Left);
|
||||
|
||||
QString country, region;
|
||||
country = locale->country();
|
||||
|
||||
CountryModel *cm = new CountryModel(this);
|
||||
|
||||
const QString &sub = QString::fromLatin1("l10n/");
|
||||
|
||||
QStringList regionlist = KGlobal::dirs()->findAllResources("locale",
|
||||
sub + QString::fromLatin1("*.desktop"),
|
||||
KStandardDirs::NoDuplicates);
|
||||
|
||||
QFontMetrics fm(lv1->font());
|
||||
int lv1Width = 0;
|
||||
|
||||
foreach(const QString ®ion, regionlist)
|
||||
{
|
||||
QString tag = region;
|
||||
int index;
|
||||
|
||||
index = tag.lastIndexOf('/');
|
||||
if (index != -1)
|
||||
tag = tag.mid(index + 1);
|
||||
|
||||
index = tag.lastIndexOf('.');
|
||||
if (index != -1)
|
||||
tag.truncate(index);
|
||||
|
||||
KConfig entry(region);
|
||||
KConfigGroup cg = entry.group("KCM Locale");
|
||||
QString name = cg.readEntry("Name", ki18n("without name").toString(locale));
|
||||
|
||||
cm->addRegion(name, tag);
|
||||
QString spacedName = name + " ";
|
||||
lv1Width = qMax(lv1Width, fm.width(spacedName));
|
||||
}
|
||||
|
||||
// add all languages to the list
|
||||
QStringList countrylist = KGlobal::dirs()->findAllResources("locale",
|
||||
sub + QString::fromLatin1("*/entry.desktop"),
|
||||
KStandardDirs::NoDuplicates);
|
||||
foreach(const QString &countryFile, countrylist)
|
||||
{
|
||||
KConfig entry(countryFile);
|
||||
KConfigGroup cg = entry.group("KCM Locale");
|
||||
QString name = cg.readEntry("Name", ki18n("without name").toString(locale));
|
||||
QString parentRegion = cg.readEntry("Region");
|
||||
|
||||
QString tag = countryFile;
|
||||
int index = tag.lastIndexOf('/');
|
||||
tag.truncate(index);
|
||||
index = tag.lastIndexOf('/');
|
||||
tag = tag.mid(index + 1);
|
||||
|
||||
QString flag( KStandardDirs::locate( "locale", QString::fromLatin1( "l10n/%1/flag.png" ).arg(tag) ) );
|
||||
cm->addSubRegion(KIcon(flag), name, tag, parentRegion);
|
||||
if (tag == country) region = parentRegion;
|
||||
}
|
||||
|
||||
cm->sort();
|
||||
|
||||
cm->addRegion(i18nc("@item:inlistbox Country", "Not set (Generic English)"), "C");
|
||||
if (country == "C") region = "C";
|
||||
|
||||
lv1->setModel(cm);
|
||||
lv1->setFixedWidth(lv1Width + lv1->verticalScrollBar()->height());
|
||||
// + 2 because 1 is "Not set (Generic English)" and the other is for spacing
|
||||
lv1->setMinimumHeight((regionlist.count() + 2) * fm.height());
|
||||
|
||||
connect(lv1->selectionModel(), SIGNAL(currentChanged(const QModelIndex &, const QModelIndex &)), SLOT(regionChanged(const QModelIndex &)));
|
||||
connect(lv1, SIGNAL(activated(const QModelIndex &)), SLOT(regionActivated()));
|
||||
connect(m_countriesView, SIGNAL(activated(const QModelIndex &)), SLOT(accept()));
|
||||
|
||||
for(int i = 0; i < lv1->model()->rowCount(); ++i)
|
||||
{
|
||||
const QModelIndex ¤t = lv1->model()->index(i, 0);
|
||||
CountryModelItem *cmi = static_cast<CountryModelItem*>(current.internalPointer());
|
||||
if (cmi->tag == region)
|
||||
{
|
||||
lv1->selectionModel()->setCurrentIndex(current, QItemSelectionModel::SelectCurrent);
|
||||
}
|
||||
}
|
||||
if (m_countriesView->model() != NULL)
|
||||
{
|
||||
for(int i = 0; i < m_countriesView->model()->rowCount(); ++i)
|
||||
{
|
||||
const QModelIndex ¤t = m_countriesView->model()->index(i, 0);
|
||||
CountryModelItem *cmi = static_cast<CountryModelItem*>(current.internalPointer());
|
||||
if (cmi->tag == country)
|
||||
{
|
||||
m_countriesView->selectionModel()->setCurrentIndex(current, QItemSelectionModel::SelectCurrent);
|
||||
}
|
||||
}
|
||||
m_countriesView->setFocus();
|
||||
}
|
||||
else lv1->setFocus();
|
||||
|
||||
if (exec() == QDialog::Accepted)
|
||||
{
|
||||
const QModelIndex ¤t = m_countriesView->currentIndex();
|
||||
if (current.isValid())
|
||||
{
|
||||
CountryModelItem *cmi = static_cast<CountryModelItem*>(current.internalPointer());
|
||||
return locale->setCountry(cmi->tag);
|
||||
}
|
||||
else if (m_countriesView->model() == NULL)
|
||||
{
|
||||
return locale->setCountry("C");
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void CountrySelectorDialog::regionChanged(const QModelIndex ¤t)
|
||||
{
|
||||
delete m_countriesView->model();
|
||||
CountryModelItem *cmi = static_cast<CountryModelItem*>(current.internalPointer());
|
||||
if (!cmi->children.isEmpty())
|
||||
{
|
||||
CountryModel *cm = new CountryModel(cmi, this);
|
||||
m_countriesView->setModel(cm);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_countriesView->setModel(NULL);
|
||||
}
|
||||
}
|
||||
|
||||
void CountrySelectorDialog::regionActivated()
|
||||
{
|
||||
if (m_countriesView->model() != NULL) m_countriesView->setFocus();
|
||||
else accept();
|
||||
}
|
37
kcontrol/locale/countryselectordialog.h
Normal file
37
kcontrol/locale/countryselectordialog.h
Normal file
|
@ -0,0 +1,37 @@
|
|||
/***************************************************************************
|
||||
* Copyright (C) 2007 by Albert Astals Cid <aacid@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. *
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef COUNTRYSELECTORDIALOG_H
|
||||
#define COUNTRYSELECTORDIALOG_H
|
||||
|
||||
#include <KDialog>
|
||||
|
||||
class CSDListView;
|
||||
|
||||
class KControlLocale;
|
||||
|
||||
class QModelIndex;
|
||||
|
||||
class CountrySelectorDialog : public KDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
CountrySelectorDialog(QWidget *parent);
|
||||
|
||||
bool editCountry(KControlLocale *locale);
|
||||
|
||||
private slots:
|
||||
void regionChanged(const QModelIndex ¤t);
|
||||
void regionActivated();
|
||||
|
||||
private:
|
||||
CSDListView *m_countriesView;
|
||||
};
|
||||
|
||||
#endif
|
3457
kcontrol/locale/kcmlocale.cpp
Normal file
3457
kcontrol/locale/kcmlocale.cpp
Normal file
File diff suppressed because it is too large
Load diff
483
kcontrol/locale/kcmlocale.h
Normal file
483
kcontrol/locale/kcmlocale.h
Normal file
|
@ -0,0 +1,483 @@
|
|||
/* This file is part of the KDE libraries
|
||||
* Copyright 2010 John Layt <john@layt.net>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public License
|
||||
* along with this library; see the file COPYING.LIB. If not, write to
|
||||
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef KCMLOCALE_H
|
||||
#define KCMLOCALE_H
|
||||
|
||||
#include <QMap>
|
||||
|
||||
#include <KCModule>
|
||||
#include <KSharedConfig>
|
||||
#include <KConfigGroup>
|
||||
#include <KLocale>
|
||||
|
||||
class QListWidgetItem;
|
||||
class QCheckBox;
|
||||
class KPushButton;
|
||||
class KComboBox;
|
||||
class KIntNumInput;
|
||||
|
||||
namespace Ui {
|
||||
class KCMLocaleWidget;
|
||||
}
|
||||
|
||||
/**
|
||||
* @short A KCM to configure locale settings
|
||||
*
|
||||
* This module is for changing the User's Locale settings, which may override their Group and
|
||||
* Country defaults.
|
||||
*
|
||||
* The settings hierarchy is as follows:
|
||||
* - User settings from kdeglobals
|
||||
* - Group settings from $KDEDIRS
|
||||
* - Country settings from l10n
|
||||
* - C default settings from l10n
|
||||
*
|
||||
* The settings that apply to the User are a merger of all these.
|
||||
*
|
||||
* This may be restricted by Kiosk Group settings locking the user from updating some/all settings.
|
||||
*
|
||||
* The KCM starts by loading the fully merged settings including the User settings
|
||||
* In KCM terms, to Reload is to load the fully merged settings including the User settings
|
||||
* In KCM terms, to reset to Defaults is to remove the User settings only.
|
||||
* The user can also reset to Default each individual setting.
|
||||
*/
|
||||
|
||||
class KCMLocale : public KCModule
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
KCMLocale(QWidget *parent, const QVariantList &);
|
||||
virtual ~KCMLocale();
|
||||
|
||||
virtual void load();
|
||||
virtual void save();
|
||||
virtual void defaults();
|
||||
virtual QString quickHelp() const;
|
||||
|
||||
private:
|
||||
|
||||
//Common load/save utilities
|
||||
|
||||
// Initialise the different settings groups
|
||||
void initSettings();
|
||||
void initCountrySettings( const QString &countryCode );
|
||||
void initCalendarSettings();
|
||||
|
||||
// Merge the different settings groups into the effective settings
|
||||
void mergeSettings();
|
||||
void mergeCalendarSettings();
|
||||
|
||||
// Copy the supported settings between settings groups
|
||||
void copySettings( KConfigGroup *fromGroup, KConfigGroup *toGroup,
|
||||
KConfig::WriteConfigFlags flags = KConfig::Normal );
|
||||
void copyCalendarSettings( KConfigGroup *fromGroup, KConfigGroup *toGroup,
|
||||
KConfig::WriteConfigFlags flags = KConfig::Normal );
|
||||
void copySetting( KConfigGroup *fromGroup, KConfigGroup *toGroup, const QString &key,
|
||||
KConfig::WriteConfigFlags flags = KConfig::Normal );
|
||||
|
||||
// Enable / Disable an item in the gui
|
||||
void enableItemWidgets( const QString &itemKey, KConfigGroup *userSettings,
|
||||
KConfigGroup *kcmSettings, KConfigGroup *defaultSettings,
|
||||
QWidget *itemWidget, KPushButton *itemDefaultButton );
|
||||
|
||||
// Set the item value in the required settings groups
|
||||
void setItemValue( const QString &itemKey, const QString &itemValue,
|
||||
KConfigGroup *userSettings, KConfigGroup *kcmSettings, KConfigGroup *defaultSettings );
|
||||
|
||||
// Set an item: set the item value, enable the widgets, set the changed flag, don't update the widget
|
||||
void setItem( const QString &itemKey, const QString &itemValue,
|
||||
QWidget *itemWidget, KPushButton *itemDefaultButton );
|
||||
void setItem( const QString &itemKey, int itemValue,
|
||||
QWidget *itemWidget, KPushButton *itemDefaultButton );
|
||||
void setItem( const QString &itemKey, bool itemValue,
|
||||
QWidget *itemWidget, KPushButton *itemDefaultButton );
|
||||
void setCalendarItem( const QString &itemKey, const QString &itemValue,
|
||||
QWidget *itemWidget, KPushButton *itemDefaultButton );
|
||||
void setCalendarItem( const QString &itemKey, int itemValue,
|
||||
QWidget *itemWidget, KPushButton *itemDefaultButton );
|
||||
void setCalendarItem( const QString &itemKey, bool itemValue,
|
||||
QWidget *itemWidget, KPushButton *itemDefaultButton );
|
||||
|
||||
// Set an item: set the item value, enable the widgets, set the changed flag, update the widget
|
||||
void setComboItem( const QString &itemKey, const QString &itemValue,
|
||||
KComboBox *itemCombo, KPushButton *itemDefaultButton );
|
||||
void setComboItem( const QString &itemKey, int itemValue,
|
||||
KComboBox *itemCombo, KPushButton *itemDefaultButton );
|
||||
void setEditComboItem( const QString &itemKey, const QString &itemValue,
|
||||
KComboBox *itemCombo, KPushButton *itemDefaultButton );
|
||||
void setIntItem( const QString &itemKey, int itemValue,
|
||||
KIntNumInput *itemInput, KPushButton *itemDefaultButton );
|
||||
void setCheckItem( const QString &itemKey, bool itemValue,
|
||||
QCheckBox *itemCheck, KPushButton *itemDefaultButton );
|
||||
void setMonetaryFormat( const QString &prefixCurrencySymbolKey, bool prefixCurrencySymbol,
|
||||
const QString &signPositionKey, KLocale::SignPosition signPosition,
|
||||
QWidget *formatWidget, KPushButton *formatDefaultButton );
|
||||
|
||||
// Check if the chaged flag needs to be set
|
||||
void checkIfChanged();
|
||||
|
||||
//Common init utilities
|
||||
void initSeparatorCombo( KComboBox *separatorCombo );
|
||||
void initWeekDayCombo( KComboBox *dayCombo );
|
||||
void initDigitSetCombo( KComboBox *digitSetCombo );
|
||||
void initDigitGroupingCombo( KComboBox *digitGroupingCombo, const QString &digitGroupingKey);
|
||||
void insertDigitGroupingItem( KComboBox *digitGroupingCombo,
|
||||
KSharedConfigPtr groupingConfig, KConfigGroup *groupingSettings,
|
||||
const QString &digitGroupingKey, const QString &digitGroupingFormat);
|
||||
void insertMonetaryPositiveFormat( bool prefixCurrencySymbol, KLocale::SignPosition signPosition );
|
||||
void insertMonetaryNegativeFormat( bool prefixCurrencySymbol, KLocale::SignPosition signPosition );
|
||||
|
||||
void initAllWidgets();
|
||||
void initSettingsWidgets();
|
||||
void initResetButtons();
|
||||
void initTabs();
|
||||
void initSample();
|
||||
|
||||
//Country tab
|
||||
|
||||
void initCountry();
|
||||
void setCountry( const QString &newValue );
|
||||
|
||||
void initCountryDivision();
|
||||
void setCountryDivision( const QString &newValue );
|
||||
|
||||
//Translations/Languages tab
|
||||
|
||||
void initTranslations();
|
||||
void setTranslations( const QString &newValue );
|
||||
|
||||
void initTranslationsInstall();
|
||||
|
||||
//Numeric tab
|
||||
|
||||
void initNumericDigitGrouping();
|
||||
void setNumericDigitGrouping( const QString &newValue );
|
||||
|
||||
void initNumericThousandsSeparator();
|
||||
void setNumericThousandsSeparator( const QString &newValue );
|
||||
|
||||
void initNumericDecimalSymbol();
|
||||
void setNumericDecimalSymbol( const QString &newValue );
|
||||
|
||||
void initNumericDecimalPlaces();
|
||||
void setNumericDecimalPlaces( int newValue );
|
||||
|
||||
void initNumericPositiveSign();
|
||||
void setNumericPositiveSign( const QString &newValue );
|
||||
|
||||
void initNumericNegativeSign();
|
||||
void setNumericNegativeSign( const QString &newValue );
|
||||
|
||||
void initNumericDigitSet();
|
||||
void setNumericDigitSet( int newValue );
|
||||
|
||||
//Monetary tab
|
||||
|
||||
void initCurrencyCode();
|
||||
void setCurrencyCode( const QString &newValue );
|
||||
|
||||
void initCurrencySymbol();
|
||||
void setCurrencySymbol( const QString &newValue );
|
||||
|
||||
void initMonetaryDigitGrouping();
|
||||
void setMonetaryDigitGrouping( const QString &newValue );
|
||||
|
||||
void initMonetaryThousandsSeparator();
|
||||
void setMonetaryThousandsSeparator( const QString &newValue );
|
||||
|
||||
void initMonetaryDecimalSymbol();
|
||||
void setMonetaryDecimalSymbol( const QString &newValue );
|
||||
|
||||
void initMonetaryDecimalPlaces();
|
||||
void setMonetaryDecimalPlaces( int newValue );
|
||||
|
||||
void initMonetaryPositiveFormat();
|
||||
void setMonetaryPositiveFormat( bool prefixCurrencySymbol, KLocale::SignPosition signPosition );
|
||||
|
||||
void initMonetaryNegativeFormat();
|
||||
void setMonetaryNegativeFormat( bool prefixCurrencySymbol, KLocale::SignPosition signPosition );
|
||||
|
||||
void initMonetaryDigitSet();
|
||||
void setMonetaryDigitSet( int newValue );
|
||||
|
||||
//Calendar Tab
|
||||
|
||||
void initCalendarSystem();
|
||||
void setCalendarSystem( const QString &newValue );
|
||||
|
||||
void initUseCommonEra();
|
||||
void setUseCommonEra( bool newValue );
|
||||
|
||||
void initShortYearWindow();
|
||||
void setShortYearWindow( int newValue );
|
||||
|
||||
void initWeekNumberSystem();
|
||||
void setWeekNumberSystem( int newValue );
|
||||
|
||||
void initWeekStartDay();
|
||||
void setWeekStartDay( int newValue );
|
||||
|
||||
void initWorkingWeekStartDay();
|
||||
void setWorkingWeekStartDay( int newValue );
|
||||
|
||||
void initWorkingWeekEndDay();
|
||||
void setWorkingWeekEndDay( int newValue );
|
||||
|
||||
void initWeekDayOfPray();
|
||||
void setWeekDayOfPray( int newValue );
|
||||
|
||||
//Date/Time tab
|
||||
|
||||
void initTimeFormat();
|
||||
void setTimeFormat( const QString &newValue );
|
||||
|
||||
void initAmPmSymbols();
|
||||
void setAmPmPeriods( const QString &amValue, const QString &pmValue );
|
||||
|
||||
void initDateFormat();
|
||||
void setDateFormat( const QString &newValue );
|
||||
|
||||
void initShortDateFormat();
|
||||
void setShortDateFormat( const QString &newValue );
|
||||
|
||||
void initMonthNamePossessive();
|
||||
void setMonthNamePossessive( bool newValue );
|
||||
|
||||
void initDateTimeDigitSet();
|
||||
void setDateTimeDigitSet( int newValue );
|
||||
|
||||
//Other Tab
|
||||
|
||||
void initPageSize();
|
||||
void setPageSize( int newValue );
|
||||
|
||||
void initMeasureSystem();
|
||||
void setMeasureSystem( int newValue );
|
||||
|
||||
void initBinaryUnitDialect();
|
||||
void setBinaryUnitDialect( int newValue );
|
||||
|
||||
private Q_SLOTS:
|
||||
|
||||
void updateSample();
|
||||
|
||||
//Country tab
|
||||
|
||||
void defaultCountry();
|
||||
void changedCountryIndex( int index );
|
||||
|
||||
void defaultCountryDivision();
|
||||
void changedCountryDivisionIndex( int index );
|
||||
|
||||
//Translations/Languages tab
|
||||
|
||||
void defaultTranslations();
|
||||
void changedTranslations();
|
||||
void changedTranslationsAvailable( QListWidgetItem * item );
|
||||
void changedTranslationsSelected( QListWidgetItem * item );
|
||||
|
||||
void installTranslations();
|
||||
|
||||
//Numeric tab
|
||||
|
||||
void defaultNumericDigitGrouping();
|
||||
void changedNumericDigitGroupingIndex( int index );
|
||||
|
||||
void defaultNumericThousandsSeparator();
|
||||
void changedNumericThousandsSeparator( const QString &newValue );
|
||||
|
||||
void defaultNumericDecimalSymbol();
|
||||
void changedNumericDecimalSymbol( const QString &newValue );
|
||||
|
||||
void defaultNumericDecimalPlaces();
|
||||
void changedNumericDecimalPlaces( int newValue );
|
||||
|
||||
void defaultNumericPositiveSign();
|
||||
void changedNumericPositiveSign( const QString &newValue );
|
||||
|
||||
void defaultNumericNegativeSign();
|
||||
void changedNumericNegativeSign( const QString &newValue );
|
||||
|
||||
void defaultNumericDigitSet();
|
||||
void changedNumericDigitSetIndex( int index );
|
||||
|
||||
//Monetary tab
|
||||
|
||||
void defaultCurrencyCode();
|
||||
void changedCurrencyCodeIndex( int index );
|
||||
|
||||
void defaultCurrencySymbol();
|
||||
void changedCurrencySymbolIndex( int index );
|
||||
|
||||
void defaultMonetaryDigitGrouping();
|
||||
void changedMonetaryDigitGroupingIndex( int index );
|
||||
|
||||
void defaultMonetaryThousandsSeparator();
|
||||
void changedMonetaryThousandsSeparator( const QString &newValue );
|
||||
|
||||
void defaultMonetaryDecimalSymbol();
|
||||
void changedMonetaryDecimalSymbol( const QString &newValue );
|
||||
|
||||
void defaultMonetaryDecimalPlaces();
|
||||
void changedMonetaryDecimalPlaces( int newValue );
|
||||
|
||||
void defaultMonetaryPositiveFormat();
|
||||
void changedMonetaryPositiveFormatIndex( int index );
|
||||
|
||||
void defaultMonetaryNegativeFormat();
|
||||
void changedMonetaryNegativeFormatIndex( int index );
|
||||
|
||||
void defaultMonetaryDigitSet();
|
||||
void changedMonetaryDigitSetIndex( int index );
|
||||
|
||||
//Calendar Tab
|
||||
|
||||
void defaultCalendarSystem();
|
||||
void changedCalendarSystemIndex( int index );
|
||||
|
||||
void defaultUseCommonEra();
|
||||
void changedUseCommonEra( bool newValue );
|
||||
|
||||
void defaultShortYearWindow();
|
||||
void changedShortYearWindow( int newValue );
|
||||
|
||||
void defaultWeekNumberSystem();
|
||||
void changedWeekNumberSystemIndex( int index );
|
||||
|
||||
void defaultWeekStartDay();
|
||||
void changedWeekStartDayIndex( int index );
|
||||
|
||||
void defaultWorkingWeekStartDay();
|
||||
void changedWorkingWeekStartDayIndex( int index );
|
||||
|
||||
void defaultWorkingWeekEndDay();
|
||||
void changedWorkingWeekEndDayIndex( int index );
|
||||
|
||||
void defaultWeekDayOfPray();
|
||||
void changedWeekDayOfPrayIndex( int index );
|
||||
|
||||
//Date/Time tab
|
||||
|
||||
void defaultTimeFormat();
|
||||
void changedTimeFormat( const QString &newValue );
|
||||
|
||||
void defaultAmSymbol();
|
||||
void changedAmSymbol( const QString &newValue );
|
||||
|
||||
void defaultPmSymbol();
|
||||
void changedPmSymbol( const QString &newValue );
|
||||
|
||||
void defaultDateFormat();
|
||||
void changedDateFormat( const QString &newValue );
|
||||
|
||||
void defaultShortDateFormat();
|
||||
void changedShortDateFormat( const QString &newValue );
|
||||
|
||||
void defaultMonthNamePossessive();
|
||||
void changedMonthNamePossessive( bool newValue );
|
||||
|
||||
void defaultDateTimeDigitSet();
|
||||
void changedDateTimeDigitSetIndex( int index );
|
||||
|
||||
//Other Tab
|
||||
|
||||
void defaultPageSize();
|
||||
void changedPageSizeIndex( int index );
|
||||
|
||||
void defaultMeasureSystem();
|
||||
void changedMeasureSystemIndex( int index );
|
||||
|
||||
void defaultBinaryUnitDialect();
|
||||
void changedBinaryUnitDialectIndex( int index );
|
||||
|
||||
private:
|
||||
// Date/Time format map utilities
|
||||
QString posixToUserDate( const QString &posixFormat ) const;
|
||||
QString posixToUserTime( const QString &posixFormat ) const;
|
||||
QString posixToUser( const QString &posixFormat, const QMap<QString, QString> &map ) const;
|
||||
QString userToPosixDate( const QString &userFormat ) const;
|
||||
QString userToPosixTime( const QString &userFormat ) const;
|
||||
QString userToPosix( const QString &userFormat, const QMap<QString, QString> &map ) const;
|
||||
|
||||
// Day Period utilities
|
||||
QString dayPeriodText( const QString &dayPeriod );
|
||||
QString amPeriod( const QString &longName, const QString &shortName, const QString &narrowName );
|
||||
QString pmPeriod( const QString &longName, const QString &shortName, const QString &narrowName );
|
||||
|
||||
// The current User settings from .kde/share/config/kdeglobals
|
||||
// This gets updated with the users changes in the kcm and saved when requested
|
||||
KSharedConfigPtr m_userConfig;
|
||||
KConfigGroup m_userSettings;
|
||||
KConfigGroup m_userCalendarSettings;
|
||||
// The kcm config/settings, a merger of C, Country, Group and User settings
|
||||
// This is used to build the displayed settings and to initialise the sample locale, but never saved
|
||||
KSharedConfigPtr m_kcmConfig;
|
||||
KConfigGroup m_kcmSettings;
|
||||
KConfigGroup m_kcmCalendarSettings;
|
||||
// The currently saved user config/settings
|
||||
// This is used to check if anything has changed, but never saved
|
||||
KSharedConfigPtr m_currentConfig;
|
||||
KConfigGroup m_currentSettings;
|
||||
KConfigGroup m_currentCalendarSettings;
|
||||
// The KCM Default settings, a merger of C, Country, and Group, i.e. excluding User
|
||||
KSharedConfigPtr m_defaultConfig;
|
||||
KConfigGroup m_defaultSettings;
|
||||
KConfigGroup m_defaultCalendarSettings;
|
||||
|
||||
// The current Group settings, i.e. does NOT include the User or Country settings
|
||||
KSharedConfigPtr m_groupConfig;
|
||||
KConfigGroup m_groupSettings;
|
||||
KConfigGroup m_groupCalendarSettings;
|
||||
// The Country Locale config from l10n/<country>/entry.desktop
|
||||
KSharedConfigPtr m_countryConfig;
|
||||
KConfigGroup m_countrySettings;
|
||||
KConfigGroup m_countryCalendarSettings;
|
||||
// The default C Locale config/settings from l10n/C/entry.desktop
|
||||
KSharedConfigPtr m_cConfig;
|
||||
KConfigGroup m_cSettings;
|
||||
KConfigGroup m_cCalendarSettings;
|
||||
|
||||
QMap<QString, QString> m_dateFormatMap;
|
||||
QMap<QString, QString> m_timeFormatMap;
|
||||
|
||||
// The system country, not the KDE one
|
||||
QString m_systemCountry;
|
||||
|
||||
// NOTE: we need to mantain our own language list instead of using KLocale's
|
||||
// because KLocale does not add a language if there is no translation
|
||||
// for the current application so it would not be possible to set
|
||||
// a language which has no systemsettings/kcontrol module translation
|
||||
// The list of translations used in the kcm, is users list plus us_EN
|
||||
QStringList m_kcmTranslations;
|
||||
// The currently saved list of user translations, used to check if value changed
|
||||
QString m_currentTranslations;
|
||||
// The currently installed translations, used to check if users translations are valid
|
||||
QStringList m_installedTranslations;
|
||||
|
||||
// The locale we use when displaying the sample output, not used for anything else
|
||||
KLocale *m_kcmLocale;
|
||||
// The locale for the current defaults, needed for am/pm as the defaults are hard coded in KLocale
|
||||
KLocale *m_defaultLocale;
|
||||
|
||||
Ui::KCMLocaleWidget *m_ui;
|
||||
};
|
||||
|
||||
#endif //KCMLOCALE_H
|
1730
kcontrol/locale/kcmlocalewidget.ui
Normal file
1730
kcontrol/locale/kcmlocalewidget.ui
Normal file
File diff suppressed because it is too large
Load diff
256
kcontrol/locale/language.desktop
Normal file
256
kcontrol/locale/language.desktop
Normal file
|
@ -0,0 +1,256 @@
|
|||
[Desktop Entry]
|
||||
Exec=kcmshell4 language
|
||||
Icon=preferences-desktop-locale
|
||||
Type=Service
|
||||
X-KDE-ServiceTypes=KCModule
|
||||
X-DocPath=kcontrol/language/index.html
|
||||
|
||||
X-KDE-Library=kcm_locale
|
||||
X-KDE-ParentApp=kcontrol
|
||||
|
||||
X-KDE-System-Settings-Parent-Category=locale
|
||||
X-KDE-Weight=50
|
||||
|
||||
Name=Country/Region & Language
|
||||
Name[af]=Land/Streek & Taal
|
||||
Name[ar]=البلد/المنطقة واللغة
|
||||
Name[ast]=País/rexón y llingua
|
||||
Name[be]=Краіна/Рэгіён і Мова
|
||||
Name[be@latin]=Kraina/Miascovaść i mova
|
||||
Name[bg]=Държава и език
|
||||
Name[bn]=দেশ/এলাকা ও ভাষা
|
||||
Name[bn_IN]=দেশ/অঞ্চল ও ভাষা
|
||||
Name[br]=Bro/Rann-vro & yezh
|
||||
Name[bs]=Država (regija) i jezik
|
||||
Name[ca]=País/Regió i idioma
|
||||
Name[ca@valencia]=País/Regió i idioma
|
||||
Name[cs]=Země/region a jazyk
|
||||
Name[csb]=Kraj/dzél kraju ë jãzëk
|
||||
Name[cy]=Gwlad/Rhanbarth ac Iaith
|
||||
Name[da]=Land/region og sprog
|
||||
Name[de]=Land/Region & Sprache
|
||||
Name[el]=Χώρα/Περιοχή & Γλώσσα
|
||||
Name[en_GB]=Country/Region & Language
|
||||
Name[eo]=Lando/regiono & lingvo
|
||||
Name[es]=País/región e idioma
|
||||
Name[et]=Riik/regioon ja keel
|
||||
Name[eu]=Herrialdea/Eskualdea eta hizkuntza
|
||||
Name[fa]=کشور/منطقه & زبان
|
||||
Name[fi]=Alue ja kieli
|
||||
Name[fr]=Pays / Région & langue
|
||||
Name[fy]=Lân/regio en taal
|
||||
Name[ga]=Tír/Réigiún agus Teanga
|
||||
Name[gl]=País/Rexión e lingua
|
||||
Name[gu]=દેશ/વિસ્તાર & ભાષાઓ
|
||||
Name[he]=מדינה, אזור ושפה
|
||||
Name[hi]=देश/क्षेत्र व भाषा
|
||||
Name[hne]=देस/छेत्र अउ भाखा
|
||||
Name[hr]=Zemlja i jezik
|
||||
Name[hsb]=Kraj/kónčina & Rěč
|
||||
Name[hu]=Ország/régió és nyelv
|
||||
Name[ia]=Pais/Region & Linguage
|
||||
Name[id]=Negara/Daerah & Bahasa
|
||||
Name[is]=Land & tungumál
|
||||
Name[it]=Lingua e paese
|
||||
Name[ja]=国と言語
|
||||
Name[ka]=ქვეყანა/რეგიონი და ენა
|
||||
Name[kk]=Ел/өлке және тіл
|
||||
Name[km]=ប្រទេស/តំបន់ និងភាសា
|
||||
Name[kn]=ದೇಶ/ಪ್ರದೇಶ ಮತ್ತು ಭಾಷೆ
|
||||
Name[ko]=국가, 지역 및 언어
|
||||
Name[ku]=Welat/Herên & Ziman
|
||||
Name[lt]=Šalis/regionas ir kalba
|
||||
Name[lv]=Valsts/reģions un valoda
|
||||
Name[mai]=देश/क्षेत्र आ भाषा
|
||||
Name[mk]=Земја/регион и јазик
|
||||
Name[ml]=രാജ്യം/പ്രദേശം, ഭാഷ
|
||||
Name[mr]=देश/क्षेत्र व भाषा
|
||||
Name[ms]=Negara/Rantau & Bahasa
|
||||
Name[nb]=Land/region og språk
|
||||
Name[nds]=Land, Regioon un Spraak
|
||||
Name[ne]=देश/क्षेत्र र भाषा
|
||||
Name[nl]=Land/regio en taal
|
||||
Name[nn]=Land og språk
|
||||
Name[or]=ଦେଶ/ଅଞ୍ଚଳ ଏବଂ ଭାଷା
|
||||
Name[pa]=ਦੇਸ਼/ਖੇਤਰ ਅਤੇ ਭਾਸ਼ਾ
|
||||
Name[pl]=Kraj/region i język
|
||||
Name[pt]=País/Região e Língua
|
||||
Name[pt_BR]=País/região e idioma
|
||||
Name[ro]=Țara/regiunea și limba
|
||||
Name[ru]=Язык и стандарты
|
||||
Name[se]=Riika/guovla ja giella
|
||||
Name[si]=රට/ප්රදේශය සහ භාෂාව
|
||||
Name[sk]=Krajina/región a jazyk
|
||||
Name[sl]=Država/območje in jezik
|
||||
Name[sr]=Држава (регија) и језик
|
||||
Name[sr@ijekavian]=Држава (регија) и језик
|
||||
Name[sr@ijekavianlatin]=Država (regija) i jezik
|
||||
Name[sr@latin]=Država (regija) i jezik
|
||||
Name[sv]=Land/region och språk
|
||||
Name[ta]=நாடு/இடம் மற்றும் மொழி
|
||||
Name[te]=దేశం/రాజ్యం & భాష
|
||||
Name[tg]=Кишвар/Минтақа ва Забон
|
||||
Name[th]=ประเทศ/เขตพื้นที่และภาษา
|
||||
Name[tr]=Ülke/Bölge ve Dil
|
||||
Name[ug]=دۆلەت/رايون ۋە تىل
|
||||
Name[uk]=Країна/Регіон та мова
|
||||
Name[uz]=Davlat/region va til
|
||||
Name[uz@cyrillic]=Давлат/регион ва тил
|
||||
Name[vi]=Quốc gia và ngôn ngữ
|
||||
Name[wa]=Payis & lingaedje
|
||||
Name[xh]=Ilizwe/Ummandla & Ulwimi
|
||||
Name[x-test]=xxCountry/Region & Languagexx
|
||||
Name[zh_CN]=国家/地区和语言
|
||||
Name[zh_TW]=國家/地區與語言
|
||||
Comment=Language, numeric, and time settings for your particular region
|
||||
Comment[af]=Taal, numeries, en tyd instellings vir jou spesifieke streek
|
||||
Comment[ar]=إعدادات اللغة والأرقام والوقت لمنطقتك
|
||||
Comment[ast]=Preferencies de llingua, formatu numbéricu y data/hora pa rexón en particular
|
||||
Comment[be]=Моўныя, лічбавыя і часавыя настаўленні для вашага канкрэтнага рэгіёну
|
||||
Comment[be@latin]=Nałady movy, likaŭ i času dla peŭnaj miascovaści
|
||||
Comment[bg]=Настройване на държавата, езика, формата на датата и часа и др.
|
||||
Comment[bn]=আপনার স্থানীয় ভাষা, সময় এবং সংখ্যা বর্ণনা সম্বন্ধীয় নিয়মাবলী
|
||||
Comment[bn_IN]=প্রযোজ্য অঞ্চলের ভাষা, সংখ্যা ও সময় সংক্রান্ত বৈশিষ্ট্য
|
||||
Comment[br]=Kefluniadur yezh, sifroù hag eur evit ho rannved-c'hwi
|
||||
Comment[bs]=Postavke jezika, brojeva i vremena prema vašem okruženju
|
||||
Comment[ca]=Arranjament d'idioma, numèric i horari per a la vostra regió
|
||||
Comment[ca@valencia]=Arranjament d'idioma, numèric i horari per a la vostra regió
|
||||
Comment[cs]=Nastavení jazyka, formátu čísel a času pro váš region
|
||||
Comment[csb]=Jãzëk, fòrmat wielënów ë czasu dlô Twòji òbeńdë
|
||||
Comment[cy]=Gosodiadu iaith,rhifau,ac amser i'ch rhanbarth
|
||||
Comment[da]=Sprog-, tal-, og tidsindstillinger for din region
|
||||
Comment[de]=Sprache, Zahlen- und Zeitformate für Ihr Land
|
||||
Comment[el]=Γλωσσικές, αριθμητικές και ρυθμίσεις ώρας για την περιοχή σας
|
||||
Comment[en_GB]=Language, numeric, and time settings for your particular region
|
||||
Comment[eo]=Agordoj de lingvoj, nombroj kaj tempindikoj por via specifa regiono
|
||||
Comment[es]=Preferencias del idioma, formato numérico y fecha/hora para su región particular
|
||||
Comment[et]=Sinu regiooni keele, numbrite ja kellaaja seadistused
|
||||
Comment[eu]=Eskualde jakin bateko hizkuntza-, ordu- eta zenbaki-ezarpenak
|
||||
Comment[fa]=زبان، عدد، و تنظیمات زمان برای منطقه خاص شما
|
||||
Comment[fi]=Alueen, kielen, ajan ja lukujen asetukset
|
||||
Comment[fr]=Configuration de la langue, des nombres et du format d'heure pour votre zone
|
||||
Comment[fy]=Taal-, numeryk, en tiidsynstelling foar jo eigen regio
|
||||
Comment[ga]=Socruithe teanga, uimhreacha, agus ama le haghaidh do réigiúin
|
||||
Comment[gl]=Lingua e parámetros numéricos/horarios da súa rexión
|
||||
Comment[gu]=તમારાં ચોક્કસ વિસ્તાર માટે ભાષા, સંખ્યા, અને સમયની ગોઠવણીઓ
|
||||
Comment[he]=שינוי הגדרות שפה, ואופן הצגת מספרים ושעה עבור האיזור הייחודי שלך
|
||||
Comment[hi]=भाषा,अंकीय, तथा आपके विशेष क्षेत्र के लिए समय विन्यास
|
||||
Comment[hne]=भाखा,अंकीय, अउ आप मन के विसेस छेत्र बर समय सेटिंग
|
||||
Comment[hr]=Jezik, oblik brojeva i vremenska postavke za određenu regiju
|
||||
Comment[hsb]=Rěč, ličby a časowe nastajenja za Wašu kónčinu
|
||||
Comment[hu]=Nyelv-, szám- és időbeállítások
|
||||
Comment[ia]=Preferentias de linguage, numeric e de tempore pro tu particular region
|
||||
Comment[id]=Pengaturan bahasa, numerik, dan waktu khususnya untuk daerah anda
|
||||
Comment[is]=Tungumál og framsetning talna og dagssetninga
|
||||
Comment[it]=Impostazioni nazionali per la lingua, i numeri, la data e l'ora
|
||||
Comment[ja]=地域特有の言語と数値や日付書式を設定
|
||||
Comment[ka]=თქვენი რეგიონისთვის ენის, თარიღის და ციფრული ფორმატის კონფიგურაცია
|
||||
Comment[kk]=Өлкеңіздің тіл, сан және уақыт пішімін орнату
|
||||
Comment[km]=ការកំណត់ភាសា លេខ និងពេលវេលាសម្រាប់តំបន់ពិសេសរបស់អ្នក
|
||||
Comment[kn]=ಭಾಷೆ, ಅಂಕೀಯ (ನ್ಯೂಮರಿಕ್), ಮತ್ತು ನಿಮ್ಮ ಪ್ರದೇಶದ ಸಮಯ ಸಂಯೋಜನೆಗಳು
|
||||
Comment[ko]=살고 있는 지역의 언어, 수, 시간 설정
|
||||
Comment[ku]=Ziman, pîvan û mîhengên demê ji bo herêma te
|
||||
Comment[lt]=Kalba, skaitiniai ir laiko nustatymai Jūsų individualiam regionui
|
||||
Comment[lv]=Valodas, numuru un laika iestatījumi jūsu konkrētajam reģionam
|
||||
Comment[mai]=भाषा,अंकीय, आओर अहाँक विशेष क्षेत्र क' लेल समय बिन्यास
|
||||
Comment[mk]=Поставувања на јазикот, броевите и времето за вашиот регион
|
||||
Comment[ml]=നിങ്ങളുടെ പ്രദേശത്തിനുള്ള ഭാഷ, അക്കങ്ങള്, സമയം എന്നിവയ്ക്കുള്ള സജ്ജീകരണങ്ങള്
|
||||
Comment[mr]=आपल्या विशेष क्षेत्र करिता भाषा, अंकीय, व वेळ संयोजना
|
||||
Comment[nb]=Språk-, tall- og tidsinnstillinger for ditt område
|
||||
Comment[nds]=Spraak, Tallen un Tietformaat för Dien Land instellen
|
||||
Comment[ne]=तपाईँको बिशेष क्षेत्रका लागि भाषा, सङ्ख्यात्मक, र समय सेटिङ
|
||||
Comment[nl]=Taal-, numerieke, en tijdsinstelling voor uw eigen regio
|
||||
Comment[nn]=Innstillingar for språk, tal og tid i regionen din
|
||||
Comment[or]=ଭାଷା, ସଂଖ୍ୟାତ୍ମକ, ଏବଂ ଆପଣଙ୍କର ନିର୍ଦ୍ଦିଷ୍ଟ ଅଞ୍ଚଳ ପାଇଁ ସମୟ ସଂରଚନା
|
||||
Comment[pa]=ਆਪਣੇ ਖਾਸ ਖੇਤਰ ਲਈ ਭਾਸ਼ਾ, ਅੰਕੀ ਤੇ ਸਮਾਂ ਸੈਟ ਕਰੋ
|
||||
Comment[pl]=Ustawienia języka, formatu liczb i czasu dla Twojego regionu
|
||||
Comment[pt]=Configuração da língua e dos parâmetros numéricos/horários para a sua região
|
||||
Comment[pt_BR]=Preferências numéricas, de idioma e formatos de data e hora para a sua região
|
||||
Comment[ro]=Limba, afișarea numerelor și orei în modul specific regiunii unde locuiți
|
||||
Comment[ru]=Настройка языка, даты и времени для вашего региона
|
||||
Comment[se]=Báikkalaš giella-,lohko- ja áigeheivehusat
|
||||
Comment[si]=ඔබගේ ප්රදේශයට අදාල භාශාව, අංකනය හා වේලා සැකසුම්.
|
||||
Comment[sk]=Nastavenie jazyka, formátu čísel, a času pre váš región
|
||||
Comment[sl]=Jezikovne, številske in časovne nastavitve za vaše območje
|
||||
Comment[sr]=Поставке језика, бројева и времена према вашем окружењу
|
||||
Comment[sr@ijekavian]=Поставке језика, бројева и времена према вашем окружењу
|
||||
Comment[sr@ijekavianlatin]=Postavke jezika, brojeva i vremena prema vašem okruženju
|
||||
Comment[sr@latin]=Postavke jezika, brojeva i vremena prema vašem okruženju
|
||||
Comment[sv]=Ställ in språk, numeriskt format och tid för din speciella region
|
||||
Comment[ta]= குறிப்பிட்ட பகுதிக்கான மொழி, எண் மற்றும் நேர அமைப்புகள்
|
||||
Comment[te]=మీ ప్రాంతమునకు సంభందించిన భాష, సంఖ్యలు, మరియు సమయ అమర్పులు
|
||||
Comment[tg]=Танзимоти забон, рақамҳо ва вақт барои минтақаи муайяншуда
|
||||
Comment[th]=รูปแบบภาษา, ตัวเลข และเวลาสำหรับพื้นที่ที่คุณอยู่
|
||||
Comment[tr]=Bölgenize özgü dil, sayı ve zaman ayarları
|
||||
Comment[ug]=سىز تۇرۇشلۇق ئورۇننىڭ تىل، رەقەم ۋە ۋاقىت تەڭشىكى
|
||||
Comment[uk]=Налаштування мови, показ чисел та часу для вашого регіону
|
||||
Comment[uz]=Davlatingiz uchun til, son va vaqt moslamalari
|
||||
Comment[uz@cyrillic]=Давлатингиз учун тил, сон ва вақт мосламалари
|
||||
Comment[vi]=Ngôn ngữ, số và các thiết lập về thời gian cho vùng cụ thể
|
||||
Comment[wa]=Apontiaedje do lingaedje et des preferinces (prezintaedje des limeros, des dates, evnd.) po vosse payis
|
||||
Comment[xh]=Ulwimi, amanani, kunye nezicwangciso zexesha zommandla wakho
|
||||
Comment[x-test]=xxLanguage, numeric, and time settings for your particular regionxx
|
||||
Comment[zh_CN]=您所在地区的语言、数字和时间设置
|
||||
Comment[zh_TW]=您所在地區的語言、數字和時間設定
|
||||
|
||||
X-KDE-Keywords=language,translation,number format,locale,Country,charsets,character sets,Decimal symbol,Thousands separator,symbol,separator,sign,positive,negative,currency,money,fractional digits,calendar,time,date,formats,week,week start,first,paper,size,letter,A4,measure,metric,English,Imperial
|
||||
X-KDE-Keywords[ar]=لغة,ترجمة,هيئة الرقم,محلي,دولة,أطقم محارف,أطقم محارف,رمز عشري,آلآف,فواصل,رمز,موجب,سالب,العملة,مال,أرقام كسرية,تقويم,وقت,تأريخ,تنسيقات,أسبوع,بداية الأسبوع,أول,ورقة,حجم,رسالة,ِA4,قياس,متري,إنجليزية,إمبراطوري
|
||||
X-KDE-Keywords[bg]=language,translation,number format,locale,Country,charsets,character sets,Decimal symbol,Thousands separator,symbol,separator,sign,positive,negative,currency,money,fractional digits,calendar,time,date,formats,week,week start,first,paper,size,letter,A4,measure,metric,English,Imperial,език,превод,числа,формат,страна, държава,кодова таблица,кодировка,десетичен знак,разделител,валута,пари,календар,време,дата, седмица,работен ден,мерна единица,печат,размер
|
||||
X-KDE-Keywords[bn]=language,translation,number format,locale,Country,charsets,character sets,Decimal symbol,Thousands separator,symbol,separator,sign,positive,negative,currency,money,fractional digits,calendar,time,date,formats,week,week start,first,paper,size,letter,A4,measure,metric,English,Imperial
|
||||
X-KDE-Keywords[bs]=language,translation,number format,locale,Country,charsets,character sets,Decimal symbol,Thousands separator,symbol,separator,sign,positive,negative,currency,money,fractional digits,calendar,time,date,formats,week,week start,first,paper,size,letter,A4,measure,metric,English,Imperial,jezik,prevođenje,format brojeva,lokalizacija,skup znakova,decimalni simboli,separator hiljada,predznak,valuta,razlomak,kalendat,vrijem,datum,papir.,mjere
|
||||
X-KDE-Keywords[ca]=idioma,traducció,format numèric,regional,país,jocs de caràcters,joc de caràcters,símbol decimal,separador de milers,símbol,separador,signe,positiu,negatiu,moneda,diners,dígits fraccionaris,calendari,hora,data,formats,setmana,inici de setmana,primer,paper,mida,carta,A4,mesura,mètric,Anglès,Imperial
|
||||
X-KDE-Keywords[ca@valencia]=idioma,traducció,format numèric,regional,país,jocs de caràcters,joc de caràcters,símbol decimal,separador de milers,símbol,separador,signe,positiu,negatiu,moneda,diners,dígits fraccionaris,calendari,hora,data,formats,setmana,inici de setmana,primer,paper,mida,carta,A4,mesura,mètric,Anglés,Imperial
|
||||
X-KDE-Keywords[cs]=jazyk,překlad,formát čísel,locale,Země,znakové sady,sady znaků,Decimální symbol,Oddělovač tisíců,symbol,oddělovač,znaménko,kladné,záporné,měna,peníze,zlomky,kalendář,čas,datum,formáty,týden,začátek týdne,první,papír,velikost,dopis,A4,míry,metrické,Anglické,Imperiální
|
||||
X-KDE-Keywords[da]=sprog,oversættelse,talformat,locale,lokalitet,land,tegnsæt,decimalsymbol,tusindtalsseparator,symbol,separator,positive,negative,valuta,penge,brøktal,kalender,tid,dato,formater,uge,ugestart,første,papir,størrelse,letter,A4,måleenhed,metrisk,Engelsk,Imperial
|
||||
X-KDE-Keywords[de]=Sprachen,Übersetzung,Zahlenformat,Währung,Zeit,Datum,Formate,Regionales,Land,Zeichensätze,Dezimalzeichen,Tausendertrennzeichen,Symbole,Zeichen,Vorzeichen,Positiv,Negativ,Bruchzahlen,Wochenanfang,Papierformat,A4,Letter,Metrisch,Imperial,Maßeinheiten
|
||||
X-KDE-Keywords[el]=γλώσσα,μετάφραση,μορφή αριθμού,εντοπιότητα,χώρα,charsets,σύνολα χαρακτήρων,δεκαδικό σύμβολο,διαχωριστικό χιλιάδων,σύμβολο,διαχωριστικό,πρόσημο,θετικό,αρνητικό,νόμισμα,χρήμα,δεκαδικά ψηφία,ημερολόγιο,ώρα,ημερομηνία,μορφές,εβδομάδα,αρχή εβδομάδας,πρώτη,χαρτί,μέγεθος,letter,A4,μέτρηση,μετρικό,Αγγλικό,Αγγλοσαξονικό
|
||||
X-KDE-Keywords[en_GB]=language,translation,number format,locale,Country,charsets,character sets,Decimal symbol,Thousands separator,symbol,separator,sign,positive,negative,currency,money,fractional digits,calendar,time,date,formats,week,week start,first,paper,size,letter,A4,measure,metric,English,Imperial
|
||||
X-KDE-Keywords[es]=idioma,traducción,formato de número,local,País,codificación,separador de decimales,separador de miles,símbolo,separador,signo,positivo,negativo,moneda,divisa,dígitos decimales,calendario,hora,fecha,formatos,semana,primer día de la semana,primero,papel,tamaño,carta,A4,medida,métrico,Inglés,Imperial
|
||||
X-KDE-Keywords[et]=keel,tõlkimine,arvuvorming,lokaat,riik,kodeering,kooditabel,kümnendkoht,tuhandete eraldaja,sümbol,eraldaja,märk,positiivne,negatiivne,raha,valuuta,murdarvud,kalender,kellaaeg,aeg,kuupäev,vormingud,nädal,nadala algus,paber,suurus,letter,A4,mõõtühikud,meetersüsteem,inglise süsteem
|
||||
X-KDE-Keywords[eu]=hizkuntza,itzulpena,zenbaki-formatua,eskualde-ezarpenak,Herrialdea,karaktere-jokoak,karaktere-jokoak,Ikur dezimala,Milakoen bereizlea,ikurra,bereizlea,zeinua,positiboa,negatiboa,moneta,dirua,zatikizko zifrak,egutegia,ordua,data,formatuak,astea,aste-hasiera,lehena,papera,tamaina,gutuna,A4,neurria,metrikoa,Ingelesa,Inperiala
|
||||
X-KDE-Keywords[fa]=language,translation,number format,locale,Country,charsets,character sets,Decimal symbol,Thousands separator,symbol,separator,sign,positive,negative,currency,money,fractional digits,calendar,time,date,formats,week,week start,first,paper,size,letter,A4,measure,metric,English,Imperial
|
||||
X-KDE-Keywords[fi]=kieli,käännös,kääntäminen,lukujen muotoilu,numeroiden muotoilu,locale,alue,alueasetukset,maa,merkistöt,desimaalierotin,tuhaterotin,symboli,erotin,merkki,positiivinen,negatiivinen,valuutta,raha,desimaalipaikkoja,desimaalipaikat,kalenteri,aika,kellonaika,päiväys,päivämäärä,muodot,viikko,viikon alku,viikon ensimmäinen päivä,ensimmäinen,paperi,koko,letter,A4,mittajärjestelmä,mittaaminen,metrinen,Anglosaksinen
|
||||
X-KDE-Keywords[fr]=langue, traduction, format numérique, localisation, pays, ensemble de caractères,symbole décimal, séparateur des milliers, symbole, séparateur, signe, positif, négatif, monnaie, argent, chiffres après la virgule, calendrier, heure, date, formats, semaine, premier jour de la semaine, premier, papier,taille, lettre, A4, mesure, métrique, Anglais, Impérial
|
||||
X-KDE-Keywords[ga]=teanga,aistriúchán,formáid uimhreacha,logchaighdeán,Tír,tacair carachtar,siombail dheachúlach,deighilteoir mílte,siombail,deighilteoir,comhartha,deimhneach,diúltach,airgeadra,airgead,digití,féilire,am,dáta,formáidí,seachtain,tús na seachtaine,tús,páipéar,méid,litir,A4,tomhas,méadrach,Béarla,Impiriúil
|
||||
X-KDE-Keywords[gl]=lingua, idioma, tradución, formato numérico, local, País, caracteres, carácter, símbolo decimal, separador de milleiros, separador, signo, positivo, negativo, divisa, cartos, moeda, díxitos fraccionarios, calendario, almanaque, hora, data, formato, semana, primeiro día, papel, tamaño, A4, medida, métrico, inglés, imperial
|
||||
X-KDE-Keywords[gu]=ભાષા,ભાષાંતર,આંકડાનું બંધારણ,લિપિ,દેશ,અક્ષરસમૂહ,અક્ષર સમૂહો,દશાંશ ચિહ્ન,હજારને જુદું પાડનાર,ચિહ્ન,જુદું પાડનાર,નિશાની,ધન,ઋણ,ચલણ,પૈસા,અપૂર્ણાંક સંખ્યાઓ,તારિખીયું,સમય,તારીખ,બંધારણો,અઠવાડિયું,અઠવાડિયાંની શરુઆત,પહેલું,કાગળ,માપ,પત્ર,A4,માપ,મેટ્રિક,અંગ્રેજી,ઇમ્પિરીઅલ
|
||||
X-KDE-Keywords[hi]=भाषा, अनुवाद, संख्या स्वरूप, स्थान, देश, charsets, वर्ण सेट्स,दशमलव प्रतीक, हजारों विभाजक, प्रतीक, विभाजक, हस्ताक्षर, सकारात्मक, नकारात्मक,मुद्रा, पैसा, भिन्नात्मक अंक, पंचांग, समय, तिथि, स्वरूप, सप्ताह, सप्ताह प्रारंभ,पहले, कागज, आकार, पत्र, A4, उपाय, मैट्रिक, अंग्रेजी, इम्पीरियल
|
||||
X-KDE-Keywords[hu]=nyelv,fordítás,számformátum,területi beállítás,Ország,karakterkészletek,karakterkészletek,tizedesjel,ezres elválasztó,szimbólum,elválasztó,jel,pozitív,negatív,pénznem,pénz,tört számjegyek,naptár,idő,dátum,formátumok,hét,hét kezdete,első,papír,méret,letter,A4,measure,metrikus,Angol,Birodalmi
|
||||
X-KDE-Keywords[ia]=linguage,traduction,formato de numero,locale,Pais,charsets,insimul de characteres, Symbolo decimal,separator de milles,symbolo,separator,signo,positive,negative,numerario,moneta,cifras fractional,calendario,tempore,data,formatos,septimana,initio de septimana, prime,papiro,grandor,littera,A4,me
|
||||
X-KDE-Keywords[id]=bahasa,terjemahan,format angka,locale,Negara,set karakter,set karakter,Simbol desimal,Pemisah ribuan,simbol,pemisah,tanda,positif,negatif,mata uang,uang,digit fraksi,kalender,waktu,tanggal,format,minggu,awal minggu,pertama,kertas,ukuran,surat,A4,satuan,metrik,Inggris,Imperial
|
||||
X-KDE-Keywords[is]=tungumál,þýðing,talnasnið,staðfærsla,Land,stafasett,stafatafla,tugatákn,þúsund,tákn,aðgreinir,merki,jákvætt,neikvætt,gjaldmiðill,peningar,tugabrot,dagatal,tími,dagsetning,snið,vika,upphafsdagur,fyrst,pappír,size,bréf,A4,mál,metra,Enskt,Imperial
|
||||
X-KDE-Keywords[it]=language,translation,number format,locale,nazione,codifica,insieme dei caratteri,simbolo decimale,separatore delle migliaia,simbolo,separatore,segno,positivo,negativo,moneta,cifre decimali,calendario,ora,data,formati,settimana,inizio settimana,primo,carta,dimensione,lettera,A4,misura,metrico,inglese,imperiale
|
||||
X-KDE-Keywords[ja]=language,translation,number format,locale,Country,charsets,character sets,Decimal symbol,Thousands separator,symbol,separator,sign,positive,negative,currency,money,fractional digits,calendar,time,date,formats,week,week start,first,paper,size,letter,A4,measure,metric,English,Imperial
|
||||
X-KDE-Keywords[kk]=language,translation,number format,locale,Country,charsets,character sets,Decimal symbol,Thousands separator,symbol,separator,sign,positive,negative,currency,money,fractional digits,calendar,time,date,formats,week,week start,first,paper,size,letter,A4,measure,metric,English,Imperial
|
||||
X-KDE-Keywords[km]=language,translation,number format,locale,Country,charsets,character sets,Decimal symbol,Thousands separator,symbol,separator,sign,positive,negative,currency,money,fractional digits,calendar,time,date,formats,week,week start,first,paper,size,letter,A4,measure,metric,English,Imperial
|
||||
X-KDE-Keywords[ko]=language,translation,number format,locale,Country,charsets,character sets,Decimal symbol,Thousands separator,symbol,separator,sign,positive,negative,currency,money,fractional digits,calendar,time,date,formats,week,week start,first,paper,size,letter,A4,measure,metric,English,Imperial,언어,번역,로캘,국가,나라,인코딩,문지 집합,소수점,천,기호,구분자,부호,양수,음수,통화,돈,달력,날짜,시간,주,용지,측정,미터법
|
||||
X-KDE-Keywords[lv]=valoda,tulkojums,skaitļu formāts,lokāle,valsts,rakstzīmju kopas,decimālais simbols,tūkstošu atdalītājs,simbols,atdalītājs,zīme,pozitīvs,negatīvs,valūta, nauda,daļskaitļi,kalendārs,laiks,datums,formāti,nedēļa,nedēļas sākums, pirmais,papīrs,izmērs,vēstule,A4,mērvienības,metriskā,angļu,imperiālā
|
||||
X-KDE-Keywords[mr]=भाषा, भाषांतर, संख्या पद्धत, स्थानिक, देश, अक्षर संच, दशमान चिन्ह, सहस्त्र विभाजक, चिन्ह, विभाजक, निशाणी, पैसा, अपूर्णांक संख्या, दिनदर्शिका, वेळ, दिनांक, पद्धत, आठवडा, प्रथम, पान, आकार, A4, दशमान, इंग्रजी, शाही
|
||||
X-KDE-Keywords[nb]=språk,oversettelse,tallformat,lokale,Land,tegnsett,desimalsymbol,tusenseparator,symbol,separator,fortegn,positivt,negativt,valuta.penger,brøktall, tid,dato,formater,uke,ukestart,først,papir,letter,A4,mål.metrisk,engelsk,imperial
|
||||
X-KDE-Keywords[nds]=Spraak,Översetten,Tallenformaat,Spraakkoderen,Regiooninstellen,Land,Tekensett,Tekensetten,Dezimaalteken,Trennteken för Dusend,Teken,Trennteken,Trenner,Vörteken,positiv,negativ,Geldsort,Geld,Brooktallen,Nakommasteden,Kalenner,Tiet,Datum,Formaten,Week,Wekenanfang,eerst,Papeer,Papeergrött,A4,Meten,metersch,Eenheit,engelsch
|
||||
X-KDE-Keywords[nl]=taal,vertaling,getalformaat,locale,land,tekensets,decimaalsymbool,duizendscheidingsteken,symbool,scheidingsteken,teken,positief,negatief,valuta,geld,decimale cijfers,agenda,tijd,datum,formaten,week,weekbegin,eerst,papier,grootte,letter,A4,afmeting,metrisch,Engels,Imperiaal
|
||||
X-KDE-Keywords[nn]=språk,omsetjing,talformat,lokale,locale,land,teiknkodingar,teiknsett,desimalskiljetekn,tusenskiljeteikn,symbol,skiljeteikn,tein,positiv,negativ,valuta,pengar,siffer,kalender,tid,dato,klokkeslett,format,veke,vekestart,første,papir,storleik,letter,A4,mål,metrisk,engelsk
|
||||
X-KDE-Keywords[pa]=ਭਾਸ਼ਾ,ਅਨੁਵਾਦ,ਨੰਬਰ ਫਾਰਮੈਟ,ਅੰਕ ਫਾਰਮੈਟ,ਲੋਕੇਲ,ਦੇਸ਼,ਅੱਖਰਸੈੱਟ,ਅੱਖਰ-ਸੈੱਟ,ਦਸ਼ਮਵਲ ਨਿਸ਼ਾਨ,ਹਜ਼ਾਰ,ਨਿਸ਼ਾਨ,ਵੱਖਰੇਵਾਂ,ਸਾਈਨ,ਧਨਾਤਮਕ,ਰਿਣਾਤਮਕ,ਮੁਦਰਾ,ਪੈਸਾ,ਧਨ,ਭਿੰਨ ਅੰਕ,ਕੈਲੰਡਰ,ਸਮਾਂ,ਮਿਤੀ,ਤਿਥੀ,ਤਾਰੀਖ,ਫਾਰਮੈਟ,ਹਫ਼ਤਾ,ਹਫ਼ਤਾ ਸ਼ੁਰੂ,ਪਹਿਲਾਂ,ਪੇਪਰ,ਸਫ਼ਾ,ਆਕਾਰ,ਸਾਈਜ਼,ਪੱਤਰ,ਲੈਟਰ,A4,ਏ4,ਮਾਪ,ਮਾਪਕ,ਅੰਗਰੇਜ਼ੀ,ਮੀਟਰ
|
||||
X-KDE-Keywords[pl]=język,tłumaczenie,format liczb,regionalność,kraj,zestaw znaków,symbol dziesiętny,separator tysięcy,symbol,separator,znak,dodatni,ujemny,waluta,pieniądze,ułamkowe cyfry,kalendarz,czas,data,formaty,tydzień,początek tygodnia,pierwszy,papier,rozmiar,list,A4,miara,metryczna,Angielski,Cesarskie
|
||||
X-KDE-Keywords[pt]=língua,tradução,formato de números,localização,país,codificações,codificações de caracteres,símbolo decimal,separador de milhares,símbolo,separador,sinal,positivo,negativo,moeda,monetário,casas decimais,hora,data,formatos,semana,início da semana,primeiro,papel,tamanho,carta,A4,medida,medir,Inglês,Imperial
|
||||
X-KDE-Keywords[pt_BR]=idioma,tradução,formato de números,localização,país,codificações,codificações de caracteres,símbolo decimal,separador de milhares,símbolo,separador,sinal,positivo,negativo,moeda,monetário,casas decimais,calendário,hora,data,formatos,semana,início da semana,primeiro,papel,tamanho,carta,A4,medida,medir,Inglês,Imperial
|
||||
X-KDE-Keywords[ro]=limbă,traducere,format număr,localizare,țară,set de caractere,seturi de caractere,simbol decimal, separator de mii,simbol,separator,semn,pozitiv,negativ,monedă,bani,zecimale,calendar,timp,dată,formate, început,săptămînă,prima,hîrtie,dimensiune,A4,măsură,metric,unități,Imperial
|
||||
X-KDE-Keywords[ru]=language,translation,number format,locale,Country,charsets,character sets,Decimal symbol,Thousands separator,symbol,separator,sign,positive,negative,currency,money,fractional digits,calendar,time,date,formats,week,week start,first,paper,size,letter,A4,measure,metric,English,Imperial,язык,перевод,формат чисел,локаль,страна,кодировка,наборы символов,десятичный разделитель,тысячный разделитель,символ,разделитель,подпись,положительный, отрицательный,валюта, деньги, дробные цифры, календарь, время, дата,формат, неделя,начало недели,бумага,размер, буквы,измерение,система мера,метрика
|
||||
X-KDE-Keywords[sk]=jazyk,preklad,number format,locale,Krajina,charsets,character sets,Decimal symbol,Thousands separator,symbol,oddeľovač,znamienko,kladný,záporný,mena,peniaze,fractional digits,kalendár,čas,dátum,formáty,týždeň,week start,prvý,papier,veľkosť,letter,A4,measure,metric,English,Imperial
|
||||
X-KDE-Keywords[sl]=jezik,jeziki,prevod,prevodi,oblika števil,krajevne nastavitve,država,znaki,nabori znakov,decimalno ločilo,ločilo skupin,simbol,ločilo,ločilnik,negativno,pozitivno,oznaka,valuta,denar,decimalke,decimalna mesta,koledar,datum,oblike,teden,začetek tedna,prvi,papir,velikost,letter,a4,mere,mera,metrika,merski sistem,enote,enota
|
||||
X-KDE-Keywords[sr]=language,translation,number format,locale,Country,charsets,character sets,Decimal symbol,Thousands separator,symbol,separator,sign,positive,negative,currency,money,fractional digits,calendar,time,date,formats,week,week start,first,paper,size,letter,A4,measure,metric,English,Imperial,језик,превод,формат бројева,локалитет,држава,кодирање,децимални симбол,раздвајач хиљада,раздвајач,симбол,знак,позитивно,негативно,валута,новац,разломак,календар,време,датум,формати,седмица,почетак седмице,недеља,папир,величина,А4,летер,метрички,империјални
|
||||
X-KDE-Keywords[sr@ijekavian]=language,translation,number format,locale,Country,charsets,character sets,Decimal symbol,Thousands separator,symbol,separator,sign,positive,negative,currency,money,fractional digits,calendar,time,date,formats,week,week start,first,paper,size,letter,A4,measure,metric,English,Imperial,језик,превод,формат бројева,локалитет,држава,кодирање,децимални симбол,раздвајач хиљада,раздвајач,симбол,знак,позитивно,негативно,валута,новац,разломак,календар,време,датум,формати,седмица,почетак седмице,недеља,папир,величина,А4,летер,метрички,империјални
|
||||
X-KDE-Keywords[sr@ijekavianlatin]=language,translation,number format,locale,Country,charsets,character sets,Decimal symbol,Thousands separator,symbol,separator,sign,positive,negative,currency,money,fractional digits,calendar,time,date,formats,week,week start,first,paper,size,letter,A4,measure,metric,English,Imperial,jezik,prevod,format brojeva,lokalitet,država,kodiranje,decimalni simbol,razdvajač hiljada,razdvajač,simbol,znak,pozitivno,negativno,valuta,novac,razlomak,kalendar,vreme,datum,formati,sedmica,početak sedmice,nedelja,papir,veličina,A4,leter,metrički,imperijalni
|
||||
X-KDE-Keywords[sr@latin]=language,translation,number format,locale,Country,charsets,character sets,Decimal symbol,Thousands separator,symbol,separator,sign,positive,negative,currency,money,fractional digits,calendar,time,date,formats,week,week start,first,paper,size,letter,A4,measure,metric,English,Imperial,jezik,prevod,format brojeva,lokalitet,država,kodiranje,decimalni simbol,razdvajač hiljada,razdvajač,simbol,znak,pozitivno,negativno,valuta,novac,razlomak,kalendar,vreme,datum,formati,sedmica,početak sedmice,nedelja,papir,veličina,A4,leter,metrički,imperijalni
|
||||
X-KDE-Keywords[sv]=språk,översättning,nummerformat,plats,Land,teckenuppsättningar,decimalsymbol,tusentalsavgränsare,symbol,avgränsare,tecken,positivt,negativt,valuta,pengar,bråkdelssiffror,kalender,tid,datum,format,vecka, veckostart,först,papper,storlek,letter,A4,mått,meter,engelska
|
||||
X-KDE-Keywords[tg]=забон,тарҷума,формати рақамҳо,маҳаллисозӣ,Мамлакат,рамзгузорӣ,маҷмӯъи ҳарфҳо,аломати даҳӣ,Ҷудокунандаи ҳазорҳо,ишора,ҷудокунанда,аломат,мусбат,манфӣ,асъор,пул,рақамҳои касрӣ,тақвим,вақт,сана,форматҳо,ҳафта,оғози ҳафта,якум,коғаз,андоза,мактуб,A4,меъёр,метрикӣ,Тоҷикӣ,Импералӣ
|
||||
X-KDE-Keywords[tr]=dil,çeviri,sayısal biçim,yerel,Ülke,karakter seti,karakter setleri,Ondalık sembolü,binler basamağı ayırıcı,sembol,ayırıcı,işaret,pozitif,negatif,para birimi,para,kesir,takvim,saat,tarih,biçimler,hafta,hafta başı,ilk,kağıt,boyut,A4,mektup,ölçü,metrik,İngiliz
|
||||
X-KDE-Keywords[ug]=تىل،تەرجىمە،سانلارنىڭ يېزىلىشى،يەرلەشمە،دۆلەت،ھەرپ توپى، ھەرپ توپى،ئونلۇق بەلگىلەر،مىڭلار خانە ئايرىغۇچ، بەلگە،ئايرىغۇچ،ئالامەت،مۇسبەت،مەنپىي،پۇل،كەسىرسان،يىلنامە،ۋاقىت،چېسلا،پىچىملار،ھەپتە،ھەپتە بېشى،تۇنجى،قەغەز،چوڭلۇق،خەت،A4،ئۆلچەش،ئۇزۇنلۇق بىرلىكى،English، خانلىق
|
||||
X-KDE-Keywords[uk]=language;translation;number format;locale;Country;charsets;character sets;Decimal symbol;Thousands separator;symbol;separator;sign;positive;negative;currency;money;fractional digits;calendar;time;date;formats;week;week start;first;paper;size;letter;A4;measure;metric;English;Imperial;мова;мови;переклад;переклади;числа;формат;число;локаль;країна;набір;символ;кодування;розряд;тисяч;дробовий;дробова частина;роздільник;символ;знак;додатне;додатний;додатній;від’ємний;від’ємне;валюта;гроші;грошова одиниця;календар;час;дата;формати;тиждень;робочий тиждень;початок тижня;перший;папір;аркуш;вимір;виміри;вимірювання;одиниці вимірювання;метричний;метричні;метр;англійські;імперські
|
||||
X-KDE-Keywords[vi]=ngôn ngữ,dịch,định dạng số,tiền tệ,thời gian,ngày,định dạng,miền địa phương,Nước,quốc gia,bộ ký tự,bảng mã,ký hiệu thập phân,dấu cách hàng nghìn,ký hiệu,dấu phân cách,dấu,dương,âm,phân số,tuần,bắt đầu tuần,language,translation,number format,locale,Country,charsets,character sets,Decimal symbol,Thousands separator,symbol,separator,sign,positive,negative,currency,money,fractional digits,calendar,time,date,formats,week,week start,first,paper,size,letter,A4,measure,metric,English,Imperial
|
||||
X-KDE-Keywords[wa]=lingaedje,ratournaedje,cogne des nombes,locåle,Payi,payis,djeus d' caracteres,djeus di caracteres,simbole des decimåles,separateu des meyes,simbole,separateu,sene,pôzitif,negatif,manoye,cwårs,çanses,liårds,liyårds,caracteres di fraccions,calindrî,eure,date,cognes,samwinne,cominçmint del samwinne,prumî djoû del samwinne,kimince del samwinne,prumî,papî,grandeu,grandeur,lete,A4,mezeure,muzeure,metrike,Inglès,Imperiå
|
||||
X-KDE-Keywords[x-test]=xxlanguage,translation,number format,locale,Country,charsets,character sets,Decimal symbol,Thousands separator,symbol,separator,sign,positive,negative,currency,money,fractional digits,calendar,time,date,formats,week,week start,first,paper,size,letter,A4,measure,metric,English,Imperialxx
|
||||
X-KDE-Keywords[zh_CN]=language,translation,number format,locale,Country,charsets,character sets,Decimal symbol,Thousands separator,symbol,separator,sign,positive,negative,currency,money,fractional digits,calendar,time,date,formats,week,week start,first,paper,size,letter,A4,measure,metric,English,Imperial,语言,翻译,数字格式,语系,国家,字符集,千分符,十进制符号,符号,分隔符,正数,负数,现金,钱,日历,分号,时间,日期,星期,周,第一,纸张,大小,信件,度量,度量衡,英制,公制
|
||||
X-KDE-Keywords[zh_TW]=language,translation,number format,locale,Country,charsets,character sets,Decimal symbol,Thousands separator,symbol,separator,sign,positive,negative,currency,money,fractional digits,calendar,time,date,formats,week,week start,first,paper,size,letter,A4,measure,metric,English,Imperial
|
||||
|
||||
Categories=Qt;KDE;X-KDE-settings-accessibility;
|
6
kcontrol/locale/pics/CMakeLists.txt
Normal file
6
kcontrol/locale/pics/CMakeLists.txt
Normal file
|
@ -0,0 +1,6 @@
|
|||
|
||||
|
||||
|
||||
########### install files ###############
|
||||
|
||||
install( FILES background.png DESTINATION ${DATA_INSTALL_DIR}/kcmlocale/pics )
|
BIN
kcontrol/locale/pics/background.png
Normal file
BIN
kcontrol/locale/pics/background.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 27 KiB |
11
kcontrol/menus/CMakeLists.txt
Normal file
11
kcontrol/menus/CMakeLists.txt
Normal file
|
@ -0,0 +1,11 @@
|
|||
|
||||
|
||||
|
||||
########### install files ###############
|
||||
if (WIN32)
|
||||
install( FILES kde-information.menu DESTINATION ${SHARE_INSTALL_DIR}/xdg/menus/)
|
||||
else (WIN32)
|
||||
install( FILES kde-information.menu DESTINATION ${SYSCONF_INSTALL_DIR}/xdg/menus/)
|
||||
endif (WIN32)
|
||||
|
||||
install( FILES kde-information.directory DESTINATION ${XDG_DIRECTORY_INSTALL_DIR} )
|
99
kcontrol/menus/kde-information.directory
Normal file
99
kcontrol/menus/kde-information.directory
Normal file
|
@ -0,0 +1,99 @@
|
|||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Type=Directory
|
||||
Name=Information
|
||||
Name[af]=Informasie
|
||||
Name[ar]=معلومات
|
||||
Name[as]=তথ্য
|
||||
Name[ast]=Información
|
||||
Name[be]=Звесткі
|
||||
Name[be@latin]=Źviestki
|
||||
Name[bg]=Информация
|
||||
Name[bn]=তথ্য
|
||||
Name[bn_IN]=তথ্য
|
||||
Name[br]=Titouroù
|
||||
Name[bs]=Informacije
|
||||
Name[ca]=Informació
|
||||
Name[ca@valencia]=Informació
|
||||
Name[cs]=Informace
|
||||
Name[csb]=Wëdowiédzô
|
||||
Name[cy]=Gwybodaeth
|
||||
Name[da]=Information
|
||||
Name[de]=Information
|
||||
Name[el]=Πληροφορίες
|
||||
Name[en_GB]=Information
|
||||
Name[eo]=Informoj
|
||||
Name[es]=Información
|
||||
Name[et]=Info
|
||||
Name[eu]=Informazioa
|
||||
Name[fa]=اطلاعات
|
||||
Name[fi]=Järjestelmätiedot
|
||||
Name[fr]=Informations
|
||||
Name[fy]=Ynformaasje
|
||||
Name[ga]=Eolas
|
||||
Name[gl]=Información
|
||||
Name[gu]=માહિતી
|
||||
Name[he]=מידע
|
||||
Name[hi]=जानकारी
|
||||
Name[hne]=जानकारी
|
||||
Name[hr]=Podaci
|
||||
Name[hsb]=Informacija
|
||||
Name[hu]=Információ
|
||||
Name[ia]=Information
|
||||
Name[id]=Informasi
|
||||
Name[is]=Upplýsingar
|
||||
Name[it]=Informazioni
|
||||
Name[ja]=情報
|
||||
Name[ka]=ინფორმაცია
|
||||
Name[kk]=Мәлімет
|
||||
Name[km]=ព័ត៌មាន
|
||||
Name[kn]=ಮಾಹಿತಿ
|
||||
Name[ko]=정보
|
||||
Name[ku]=Agahî
|
||||
Name[lt]=Informacija
|
||||
Name[lv]=Informācija
|
||||
Name[mai]=सूचना
|
||||
Name[mk]=Информации
|
||||
Name[ml]=വിവരം
|
||||
Name[mr]=माहिती
|
||||
Name[ms]=Maklumat
|
||||
Name[nb]=Informasjon
|
||||
Name[nds]=Informatschoon
|
||||
Name[ne]=सूचना
|
||||
Name[nl]=Informatie
|
||||
Name[nn]=Informasjon
|
||||
Name[oc]=Entresenhas
|
||||
Name[or]=ସୂଚନା
|
||||
Name[pa]=ਜਾਣਕਾਰੀ
|
||||
Name[pl]=Informacje
|
||||
Name[pt]=Informação
|
||||
Name[pt_BR]=Informações
|
||||
Name[ro]=Informații
|
||||
Name[ru]=Сведения
|
||||
Name[se]=Diehtu
|
||||
Name[si]=තොරතුරු
|
||||
Name[sk]=Informácie
|
||||
Name[sl]=Podrobnosti
|
||||
Name[sr]=Информације
|
||||
Name[sr@ijekavian]=Информације
|
||||
Name[sr@ijekavianlatin]=Informacije
|
||||
Name[sr@latin]=Informacije
|
||||
Name[sv]=Information
|
||||
Name[ta]=தகவல்
|
||||
Name[te]=సమాచారం
|
||||
Name[tg]=Маълумот
|
||||
Name[th]=ข้อมูลรายละเอียด
|
||||
Name[tr]=Bilgi
|
||||
Name[ug]=ئۇچۇر
|
||||
Name[uk]=Інформація
|
||||
Name[uz]=Maʼlumot
|
||||
Name[uz@cyrillic]=Маълумот
|
||||
Name[vi]=Thông tin
|
||||
Name[wa]=Informåcions
|
||||
Name[xh]=Ulwazi
|
||||
Name[x-test]=xxInformationxx
|
||||
Name[zh_CN]=信息
|
||||
Name[zh_TW]=資訊
|
||||
Icon=hwinfo
|
||||
X-KDE-BaseGroup=info
|
||||
NoDisplay=true
|
10
kcontrol/menus/kde-information.menu
Normal file
10
kcontrol/menus/kde-information.menu
Normal file
|
@ -0,0 +1,10 @@
|
|||
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
|
||||
"http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
|
||||
|
||||
<Menu>
|
||||
<Name>Information</Name>
|
||||
<Directory>kde-information.directory</Directory>
|
||||
<Include>
|
||||
<Category>X-KDE-information</Category>
|
||||
</Include>
|
||||
</Menu>
|
13
kcontrol/spellchecking/CMakeLists.txt
Normal file
13
kcontrol/spellchecking/CMakeLists.txt
Normal file
|
@ -0,0 +1,13 @@
|
|||
ADD_DEFINITIONS (${QT_DEFINITIONS} ${KDE4_DEFINITIONS})
|
||||
INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES})
|
||||
|
||||
SET(kcm_spellchecking_SRCS
|
||||
spellchecking.cpp
|
||||
)
|
||||
|
||||
KDE4_ADD_PLUGIN(kcmspellchecking ${kcm_spellchecking_SRCS})
|
||||
|
||||
TARGET_LINK_LIBRARIES(kcmspellchecking ${KDE4_KDEUI_LIBS} )
|
||||
|
||||
INSTALL(TARGETS kcmspellchecking DESTINATION ${PLUGIN_INSTALL_DIR} )
|
||||
INSTALL( FILES spellchecking.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
|
59
kcontrol/spellchecking/spellchecking.cpp
Normal file
59
kcontrol/spellchecking/spellchecking.cpp
Normal file
|
@ -0,0 +1,59 @@
|
|||
/*
|
||||
|
||||
Copyright 2008 Albert Astals Cid <aacid@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) version 3 or any later version
|
||||
accepted by the membership of KDE e.V. (or its successor approved
|
||||
by the membership of KDE e.V.), which shall act as a proxy
|
||||
defined in Section 14 of version 3 of the license.
|
||||
|
||||
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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
#include "spellchecking.h"
|
||||
|
||||
#include <kpluginfactory.h>
|
||||
#include <sonnet/configwidget.h>
|
||||
|
||||
#include <QBoxLayout>
|
||||
|
||||
K_PLUGIN_FACTORY(SpellFactory, registerPlugin<SonnetSpellCheckingModule>();)
|
||||
K_EXPORT_PLUGIN(SpellFactory( "kcmspellchecking" ))
|
||||
|
||||
SonnetSpellCheckingModule::SonnetSpellCheckingModule(QWidget* parent, const QVariantList&):
|
||||
KCModule(SpellFactory::componentData(), parent)
|
||||
{
|
||||
QBoxLayout *layout = new QVBoxLayout( this );
|
||||
layout->setMargin(0);
|
||||
m_config = new KConfig("sonnetrc");
|
||||
m_configWidget = new Sonnet::ConfigWidget( m_config, this );
|
||||
layout->addWidget(m_configWidget);
|
||||
connect(m_configWidget, SIGNAL(configChanged()), this, SLOT(changed()));
|
||||
}
|
||||
|
||||
SonnetSpellCheckingModule::~SonnetSpellCheckingModule()
|
||||
{
|
||||
delete m_config;
|
||||
}
|
||||
|
||||
void SonnetSpellCheckingModule::save()
|
||||
{
|
||||
m_configWidget->save();
|
||||
}
|
||||
|
||||
void SonnetSpellCheckingModule::defaults()
|
||||
{
|
||||
m_configWidget->slotDefault();
|
||||
}
|
||||
|
||||
#include "spellchecking.moc"
|
253
kcontrol/spellchecking/spellchecking.desktop
Normal file
253
kcontrol/spellchecking/spellchecking.desktop
Normal file
|
@ -0,0 +1,253 @@
|
|||
[Desktop Entry]
|
||||
Exec=kcmshell4 spellchecking
|
||||
Icon=tools-check-spelling
|
||||
Type=Service
|
||||
X-KDE-ServiceTypes=KCModule
|
||||
X-DocPath=kcontrol/spellchecking/index.html
|
||||
|
||||
X-KDE-Library=kcmspellchecking
|
||||
X-KDE-ParentApp=kcontrol
|
||||
|
||||
X-KDE-System-Settings-Parent-Category=locale
|
||||
X-KDE-Weight=70
|
||||
|
||||
Name=Spell Checker
|
||||
Name[ar]=مدقق إملائي
|
||||
Name[as]=বানান পৰীক্ষণব্যৱস্থা
|
||||
Name[ast]=Correutor ortográficu
|
||||
Name[be@latin]=Spraŭdžvańnie pravapisu
|
||||
Name[bg]=Проверка на правописа
|
||||
Name[bn]=বানান পরীক্ষক
|
||||
Name[bn_IN]=বানান পরীক্ষণ ব্যবস্থা
|
||||
Name[br]=Gwirieker ar skritur
|
||||
Name[bs]=Provjera pravopisa
|
||||
Name[ca]=Corrector ortogràfic
|
||||
Name[ca@valencia]=Corrector ortogràfic
|
||||
Name[cs]=Kontrola pravopisu
|
||||
Name[csb]=Sprôwdzanié pisënkù
|
||||
Name[cy]=Cywirydd Sillafu
|
||||
Name[da]=Stavekontrol
|
||||
Name[de]=Rechtschreibprüfung
|
||||
Name[el]=Έλεγχος ορθογραφίας
|
||||
Name[en_GB]=Spell Checker
|
||||
Name[eo]=Literumilo
|
||||
Name[es]=Corrector ortográfico
|
||||
Name[et]=Õigekirja kontroll
|
||||
Name[eu]=Ortografia-egiaztatzailea
|
||||
Name[fa]=غلطیاب
|
||||
Name[fi]=Oikoluku
|
||||
Name[fr]=Correcteur orthographique
|
||||
Name[fy]=Staveringshifker
|
||||
Name[ga]=Litreoir
|
||||
Name[gl]=Corrector de ortografía
|
||||
Name[gu]=જોડણી ચકાસનાર
|
||||
Name[he]=בודק איות
|
||||
Name[hi]=वर्तनी शोधक
|
||||
Name[hne]=हिज्जा जंचइया
|
||||
Name[hr]=Alat za provjeru pravopisa
|
||||
Name[hsb]=Prawopisna korektura
|
||||
Name[hu]=Helyesírás-ellenőrző
|
||||
Name[ia]=Controlator Orthographic
|
||||
Name[id]=Pemeriksa Ejaan
|
||||
Name[is]=Stafsetningarskoðun
|
||||
Name[it]=Correttore ortografico
|
||||
Name[ja]=スペルチェッカー
|
||||
Name[ka]=მარლთწერის შემოწმება
|
||||
Name[kk]=Емле тексергіші
|
||||
Name[km]=កម្មវិធីពិនិត្យអក្ខរាវិរុទ្ធ
|
||||
Name[kn]=ಕಾಗುಣಿತ ಪರಿಶೀಲಕ
|
||||
Name[ko]=맞춤법 검사기
|
||||
Name[ku]=Kontrolkera Rastnivîsê
|
||||
Name[lt]=Rašybos tikrinimo įrankis
|
||||
Name[lv]=Pareizrakstības pārbaudītājs
|
||||
Name[mai]=वर्तनी शोधक
|
||||
Name[mk]=Проверка на правопис
|
||||
Name[ml]=അക്ഷരത്തെറ്റു് പരിശോധകന്
|
||||
Name[mr]=शब्द तपासक
|
||||
Name[nb]=Stavekontroll
|
||||
Name[nds]=Klookschriever
|
||||
Name[nl]=Spellingcontrole
|
||||
Name[nn]=Stavekontroll
|
||||
Name[oc]=Verificator ortografic
|
||||
Name[or]=ବନାନ ଯାଞ୍ଚକାରୀ
|
||||
Name[pa]=ਸਪੈੱਲ ਚੈੱਕਰ
|
||||
Name[pl]=Sprawdzanie pisowni
|
||||
Name[pt]=Verificador Ortográfico
|
||||
Name[pt_BR]=Verificador ortográfico
|
||||
Name[ro]=Verificator ortografic
|
||||
Name[ru]=Проверка орфографии
|
||||
Name[si]=අකුරු පිරික්සනය
|
||||
Name[sk]=Kontrola pravopisu
|
||||
Name[sl]=Preverjanje črkovanja
|
||||
Name[sr]=Правописар
|
||||
Name[sr@ijekavian]=Правописар
|
||||
Name[sr@ijekavianlatin]=Pravopisar
|
||||
Name[sr@latin]=Pravopisar
|
||||
Name[sv]=Stavningskontroll
|
||||
Name[ta]=Spell Checker
|
||||
Name[te]=స్పెల్ చెకర్
|
||||
Name[tg]=Тафтиши имло
|
||||
Name[th]=ตัวตรวจการสะกด
|
||||
Name[tr]=Yazım Denetleyici
|
||||
Name[ug]=ئىملا تەكشۈرگۈچ
|
||||
Name[uk]=Перевірка правопису
|
||||
Name[uz]=Imloni tekshiruvchi
|
||||
Name[uz@cyrillic]=Имлони текширувчи
|
||||
Name[vi]=Trình kiểm tra chính tả
|
||||
Name[wa]=Coridjrece ortografike
|
||||
Name[xh]=Umkhangeki Wopelo
|
||||
Name[x-test]=xxSpell Checkerxx
|
||||
Name[zh_CN]=拼写检查器
|
||||
Name[zh_TW]=拼字檢查器
|
||||
|
||||
Comment=Configure the spell checker
|
||||
Comment[ar]=إضبط المدقق الإملائي
|
||||
Comment[ast]=Configuración del correutor ortográficu
|
||||
Comment[be@latin]=Naładź spraŭdžvańnie pravapisu
|
||||
Comment[bg]=Настройване проверката на правописа
|
||||
Comment[bn]=বানান পরীক্ষক কনফিগার করুন
|
||||
Comment[bn_IN]=বানান পরীক্ষণ ব্যবস্থা কনফিগার করুন
|
||||
Comment[br]=Kefluniañ an ostilh gwiriekaat
|
||||
Comment[bs]=Podešavanje provjere pravopisa
|
||||
Comment[ca]=Configura el corrector ortogràfic
|
||||
Comment[ca@valencia]=Configura el corrector ortogràfic
|
||||
Comment[cs]=Nastavení kontroly pravopisu
|
||||
Comment[csb]=Kònfigùracëjô programë sprôwdzaniô pisënkù
|
||||
Comment[cy]=Ffurfweddu'r cywirydd sillafu
|
||||
Comment[da]=Indstil stavekontrollen
|
||||
Comment[de]=Rechtschreibprüfung einrichten
|
||||
Comment[el]=Διαμόρφωση του ορθογραφικού ελέγχου
|
||||
Comment[en_GB]=Configure the spell checker
|
||||
Comment[eo]=Agordoj de la literumilo
|
||||
Comment[es]=Configuración del corrector ortográfico
|
||||
Comment[et]=Õigekirja kontrolli seadistamine
|
||||
Comment[eu]=Ortografia-egiaztatzailea konfiguratzea
|
||||
Comment[fa]=پیکربندی غلطیاب
|
||||
Comment[fi]=Oikoluvun asetukset
|
||||
Comment[fr]=Configuration du correcteur orthographique
|
||||
Comment[fy]=De staveringshifker ynstelle
|
||||
Comment[ga]=Cumraigh an litreoir
|
||||
Comment[gl]=Configura o corrector da ortografía
|
||||
Comment[gu]=સ્પેલચેકર રૂપરેખાંંકિત કરો
|
||||
Comment[he]=שינוי הגדרות בודק האיות
|
||||
Comment[hi]=वर्तनी शोधक कॉन्फ़िगर करें
|
||||
Comment[hne]=हिज्जा जंचइया कान्फिगर करव
|
||||
Comment[hr]=Konfiguriranje provjere pravopisa
|
||||
Comment[hsb]=Prawopisnu korekturu připrawić
|
||||
Comment[hu]=A helyesírás-ellenőrző beállításai
|
||||
Comment[ia]=Configura le controlator orthographic
|
||||
Comment[id]=Atur pemeriksa ejaan
|
||||
Comment[is]=Hér getur þú stillt stafsetningaryfirferð
|
||||
Comment[it]=Configura il correttore ortografico
|
||||
Comment[ja]=スペルチェッカーを設定
|
||||
Comment[ka]=მარლთწერის სემოწმების კონფიგურაცია
|
||||
Comment[kk]=Емле тексергішін баптау
|
||||
Comment[km]=កំណត់រចនាសម្ព័ន្ធកម្មវិធីពិនិត្យអក្ខរាវិរុទ្ធ
|
||||
Comment[kn]=ಕಾಗುಣಿತ ಪರಿಶೀಲಕವನ್ನು ಸಂರಚಿಸು
|
||||
Comment[ko]=맞춤법 검사기 설정
|
||||
Comment[ku]=Kontrola rastnivîsê veava bike
|
||||
Comment[lt]=Konfigūruoti rašybos tikrinimą
|
||||
Comment[lv]=Šeit jūs varat konfigurēt pareizrakstības pārbaudītāju
|
||||
Comment[mai]=वर्तनी शोधक विन्यस्त करू
|
||||
Comment[mk]=Конфигурирајте ја проверката на правопис
|
||||
Comment[ml]=അക്ഷരത്തെറ്റു് പരിശോധന പൂര്ത്തിയായി
|
||||
Comment[mr]=शब्द तपासकर्ता संयोजीत करा
|
||||
Comment[nb]=Tilpass stavekontrollen
|
||||
Comment[nds]=Den Klookschriever instellen
|
||||
Comment[nl]=Spellingcontrole instellen
|
||||
Comment[nn]=Set opp stavekontrollen
|
||||
Comment[or]=ବନାନ ଯାଞ୍ଚକାରୀକୁ ସଂରଚନା କରନ୍ତୁ
|
||||
Comment[pa]=ਸਪੈੱਲ ਚੈੱਕਰ ਸੰਰਚਨਾ
|
||||
Comment[pl]=Ustawienia programu do sprawdzania pisowni
|
||||
Comment[pt]=Configuração do verificador ortográfico
|
||||
Comment[pt_BR]=Configura o verificador ortográfico
|
||||
Comment[ro]=Configurează verificatorul ortografic
|
||||
Comment[ru]=Настройка проверки орфографии
|
||||
Comment[se]=Heivet čállindárkkisteami
|
||||
Comment[si]=අකුරු පිරික්සීම සකසන්න
|
||||
Comment[sk]=Nastavenie kontroly pravopisu
|
||||
Comment[sl]=Nastavi preverjanje črkovanja
|
||||
Comment[sr]=Подешавање правописара
|
||||
Comment[sr@ijekavian]=Подешавање правописара
|
||||
Comment[sr@ijekavianlatin]=Podešavanje pravopisara
|
||||
Comment[sr@latin]=Podešavanje pravopisara
|
||||
Comment[sv]=Anpassa stavningskontroll
|
||||
Comment[ta]=சொல் திருத்தியை வடிவமை
|
||||
Comment[te]=స్పెల్ చెకర్ను ఆకృతీకరించుము
|
||||
Comment[tg]=Танзимоти тафтиши имло
|
||||
Comment[th]=ปรับแต่งตัวตรวจการสะกด
|
||||
Comment[tr]=Yazım denetleyiciyi yapılandır
|
||||
Comment[ug]=ئىملا تەكشۈرگۈچ سەپلىمە
|
||||
Comment[uk]=Налаштування перевірки правопису
|
||||
Comment[uz]=Imlo tekshiruvchini moslash
|
||||
Comment[uz@cyrillic]=Имло текширувчини мослаш
|
||||
Comment[vi]=Cấu hình trình kiểm tra chính tả
|
||||
Comment[wa]=Apontyî l' coridjrece ortografike
|
||||
Comment[xh]=Qwalasela umkhangelo wopelo
|
||||
Comment[x-test]=xxConfigure the spell checkerxx
|
||||
Comment[zh_CN]=配置拼写检查器
|
||||
Comment[zh_TW]=設定拼字檢查器
|
||||
|
||||
X-KDE-Keywords=Spell
|
||||
X-KDE-Keywords[ar]=تهجئة
|
||||
X-KDE-Keywords[bg]=Spell,Правопис
|
||||
X-KDE-Keywords[bn]=Spell
|
||||
X-KDE-Keywords[bs]=Spelovanje
|
||||
X-KDE-Keywords[ca]=Corrector
|
||||
X-KDE-Keywords[ca@valencia]=Corrector
|
||||
X-KDE-Keywords[cs]=Kontrola pravopisu
|
||||
X-KDE-Keywords[da]=Stavekontrol
|
||||
X-KDE-Keywords[de]=rechtschreibung
|
||||
X-KDE-Keywords[el]=Συλλαβισμός
|
||||
X-KDE-Keywords[en_GB]=Spell
|
||||
X-KDE-Keywords[eo]=Literumi
|
||||
X-KDE-Keywords[es]=Ortografía
|
||||
X-KDE-Keywords[et]=õigekiri
|
||||
X-KDE-Keywords[eu]=Ortografia
|
||||
X-KDE-Keywords[fa]=املا
|
||||
X-KDE-Keywords[fi]=Oikoluku
|
||||
X-KDE-Keywords[fr]=Orthographe
|
||||
X-KDE-Keywords[ga]=Litriú
|
||||
X-KDE-Keywords[gl]=Ortografía
|
||||
X-KDE-Keywords[gu]=જોડણી
|
||||
X-KDE-Keywords[he]=איות
|
||||
X-KDE-Keywords[hi]=वर्तनी
|
||||
X-KDE-Keywords[hu]=Helyesírás
|
||||
X-KDE-Keywords[ia]=Controlator orthographic
|
||||
X-KDE-Keywords[id]=Ejaan
|
||||
X-KDE-Keywords[is]=Stafsetning
|
||||
X-KDE-Keywords[it]=Ortografia
|
||||
X-KDE-Keywords[kk]=Spell
|
||||
X-KDE-Keywords[km]=ប្រកប
|
||||
X-KDE-Keywords[ko]=맞춤법
|
||||
X-KDE-Keywords[lt]=Rašybos tikrinimas
|
||||
X-KDE-Keywords[lv]=Pareizrakstība
|
||||
X-KDE-Keywords[mr]=शब्द सांगा
|
||||
X-KDE-Keywords[nb]=Stavekontroll
|
||||
X-KDE-Keywords[nds]=Schrievwies
|
||||
X-KDE-Keywords[nl]=Spelling
|
||||
X-KDE-Keywords[nn]=Stavekontroll
|
||||
X-KDE-Keywords[pa]=ਸਪੈੱਲ
|
||||
X-KDE-Keywords[pl]=Pisownia
|
||||
X-KDE-Keywords[pt]=Ortografia
|
||||
X-KDE-Keywords[pt_BR]=verificação ortográfica
|
||||
X-KDE-Keywords[ro]=Ortografie
|
||||
X-KDE-Keywords[ru]=Spell,правописание
|
||||
X-KDE-Keywords[sk]=Pravopis
|
||||
X-KDE-Keywords[sl]=Črkuj
|
||||
X-KDE-Keywords[sr]=spell,правопис,писање
|
||||
X-KDE-Keywords[sr@ijekavian]=spell,правопис,писање
|
||||
X-KDE-Keywords[sr@ijekavianlatin]=spell,pravopis,pisanje
|
||||
X-KDE-Keywords[sr@latin]=spell,pravopis,pisanje
|
||||
X-KDE-Keywords[sv]=Stavningskontroll
|
||||
X-KDE-Keywords[tg]=Санҷиши имло
|
||||
X-KDE-Keywords[tr]=Denetle
|
||||
X-KDE-Keywords[ug]=ئىملا
|
||||
X-KDE-Keywords[uk]=Spell,правопис,перевірка,правопису
|
||||
X-KDE-Keywords[vi]=Chính tả
|
||||
X-KDE-Keywords[wa]=Coridjrece,speli,sipeli,coridjî,ortografike,ortografeye,ortografe
|
||||
X-KDE-Keywords[x-test]=xxSpellxx
|
||||
X-KDE-Keywords[zh_CN]=Spell,拼写
|
||||
X-KDE-Keywords[zh_TW]=Spell
|
||||
|
||||
Categories=Qt;KDE;X-KDE-settings-components;
|
51
kcontrol/spellchecking/spellchecking.h
Normal file
51
kcontrol/spellchecking/spellchecking.h
Normal file
|
@ -0,0 +1,51 @@
|
|||
/*
|
||||
|
||||
Copyright 2008 Albert Astals Cid <aacid@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) version 3 or any later version
|
||||
accepted by the membership of KDE e.V. (or its successor approved
|
||||
by the membership of KDE e.V.), which shall act as a proxy
|
||||
defined in Section 14 of version 3 of the license.
|
||||
|
||||
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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
#ifndef SONNETSPELLCHECKINGMODULE_H
|
||||
#define SONNETSPELLCHECKINGMODULE_H
|
||||
|
||||
#include "kcmodule.h"
|
||||
|
||||
class KConfig;
|
||||
|
||||
namespace Sonnet
|
||||
{
|
||||
class ConfigWidget;
|
||||
}
|
||||
|
||||
class SonnetSpellCheckingModule : public KCModule
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
SonnetSpellCheckingModule(QWidget* parent, const QVariantList&);
|
||||
~SonnetSpellCheckingModule();
|
||||
|
||||
void save();
|
||||
void defaults();
|
||||
|
||||
private:
|
||||
Sonnet::ConfigWidget *m_configWidget;
|
||||
KConfig *m_config;
|
||||
};
|
||||
|
||||
#endif
|
Loading…
Add table
Reference in a new issue