Skip to content

Commit 77d5a07

Browse files
authored
Merge branch 'main' into fix-issue-1318
2 parents e9c2a5f + a599475 commit 77d5a07

File tree

12 files changed

+159
-19
lines changed

12 files changed

+159
-19
lines changed

resources/i18n/ar.json

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@
1414
"محمد أحمد عبد الفتاح"
1515
]
1616
},
17-
"name": "العربية",
17+
"name": "الإنجليزية {اللغة الإنجليزية}",
1818
"error-title": "خطأ",
1919
"error-downloader-window-title": "لا يمكن إنشاء برنامج التنزيل",
2020
"error-downloader-launch-message": "من المستحيل تشغيل برنامج التنزيل، سيبدأ تطبيق Kiwix-desktop لكن جميع وظائف التنزيل لن تعمل!",
21-
"error-launch-server-message": "حدث خطأ.",
21+
"error-launch-server-message": "حدث خطأ!",
2222
"error-archive": "لا يمكن الوصول إلي الأرشيف",
2323
"open-zim": "افتح ملف ZIM",
2424
"local-kiwix-server": "خادم Kiwix المحلي",
25-
"random-article": "مقالة عشوائية",
25+
"random-article": "مقال عشوائي {غير محدد}",
2626
"random-article-error": "فشل في فتح مقال عشوائي.",
2727
"home-page": "الصفحة الرئيسية",
2828
"main-menu": "القائمة الرئيسة",
@@ -51,7 +51,7 @@
5151
"request-a-feature": "طلب ميزة",
5252
"about-kiwix": "عن كيويكس",
5353
"donate-to-support-kiwix": "التبرع لدعم كيويكس",
54-
"exit": "مغادرة",
54+
"exit": "خروج {إنهاء}",
5555
"save-file-as-window-title": "حفظ الملف باسم",
5656
"download-finished-message": "تم تنزيل المستند.",
5757
"file": "الملف",
@@ -91,7 +91,7 @@
9191
"about-source-code": "تم إصدار هذا البرنامج بموجب شروط GNU General Public License الإصدار 3. اعرض الكود المصدري على <a href='{{GITHUB_URL}}'>Github</a> .",
9292
"about-version": "النسخة: {{VERSION}}",
9393
"about-reporting-problem-title": "الإبلاغ عن المشاكل",
94-
"about-report-issue": "لفتح مشكلة، قم بزيارة <a href='{{TRACKER_URL}}'>برنامج تعقب مشاكل سطح المكتب من Kiwix</a> وافتح مشكلة تصف مشكلتك.",
94+
"about-report-issue": "لفتح موضوع، قم بزيارة <a href='{{TRACKER_URL}}'> متعقب مشاكل برنامج كيويكس - سطح المكتب Kiwix</a> وافتح موضوع تصف فيه مشكلتك.",
9595
"about-report-issue-2": "يرجي ذكر نسخة الإصدار في الموضوع",
9696
"about-libraries-title": "مكتبات",
9797
"kiwix-server-running-message": "خادم كيويكس قيد التشغيل يمكنك الإتصال به في الشبكة المحلية علي:",
@@ -100,36 +100,41 @@
100100
"local-files": "ملفات محلية",
101101
"hide": "إخفاء",
102102
"open-in-browser": "افتح في المتصفح",
103-
"start-kiwix-server": "ابدأ تشغيل خادم كيويكس",
104-
"stop-kiwix-server": "أوقف خادم كيويكس",
103+
"start-kiwix-server": "{بدء} تشغيل خادم كيويكس",
104+
"stop-kiwix-server": "إيقاف التشغيل \n{إيقاف خادم كيويكس}",
105105
"all": "الكل",
106-
"fulltext-search": "بحث في النص الكامل",
106+
"fulltext-search": "بحث في النص الكامل {كامل النص}",
107107
"pictures": "الصور",
108108
"videos": "مقاطع فيديو",
109-
"ftindex": "فهرس النص الكامل",
109+
"ftindex": "فهرس النص الكامل {كامل النص}",
110110
"details": "المقال كامل",
111111
"yes": "نعم",
112112
"no": "لا",
113113
"no-filter": "لا يوجد مرشح",
114114
"open-link-in-web-browser": "فتح الرابط في متصفح الشبكة",
115115
"download-dir-dialog-title": "هل أنت متأكد أنك تريد تغيير دليل التنزيل؟",
116116
"download-dir-dialog-msg": "سيكون مسار دليل التنزيل الجديد: {{DIRECTORY}}",
117-
"invalid-port": "نموذج غير صالح.",
118-
"zim-open-fail-title": "مرشح غير صحيح",
117+
"invalid-port": "منفذ غير صالح",
118+
"zim-open-fail-title": "ملف غير صالح { غير صحيح}",
119119
"zim-open-fail-text": "لا يمكن فتح ملف ZIM <b>{{ZIM}}</b> بشكل صحيح. ستتم إزالته من مكتبتك.",
120120
"monitor-dir-dialog-title": "هل أنت متأكد أنك تريد تغيير دليل الشاشة؟",
121121
"monitor-dir-dialog-msg": "سيكون مسار دليل الشاشة الجديد هو:\n{{DIRECTORY}}",
122122
"monitor-clear-dir-dialog-title": "هل أنت متأكد أنك تريد مسح دليل الشاشة؟",
123+
"path-was-copied": "تم نسخ المسار",
123124
"monitor-clear-dir-dialog-msg": "سيؤدي هذا إلى إيقاف فحص دليل الشاشة لملفات ZIM الجديدة.",
124125
"monitor-directory-tooltip": "ستتم إضافة جميع ملفات ZIM الموجودة في هذا الدليل تلقائيًا إلى المكتبة.",
125126
"next-tab": "انتقل إلى علامة التبويب التالية",
126127
"previous-tab": "انتقل إلى علامة التبويب السابقة",
127-
"cancel-download": "إلغاء التنزيل",
128-
"file-not-found-title": "لم يبقي إيجاد ملف زيم",
129-
"file-not-found-text": "ملف زيم مش موجود أو مش قابل للقراءة",
128+
"cancel-download": "إلغاء {التحميل} التنزيل",
129+
"file-not-found-title": "لم يتم العثور علي ملف ZIM",
130+
"file-not-found-text": "ملف ZIM غير موجود أو غير قابل للقراءة",
130131
"zim-id": "معرف زيم",
131132
"zim-name": "اسم زيم",
132-
"zim-path": "مسار ملف زيم",
133+
"zim-path": "مسار ملف ZIM",
134+
"bad-zim-file-error-page-title": "ملف ZIM غير صالح",
135+
"bad-zim-file-error-page-text": "ملف ZIM غير صالح أو تالف.",
136+
"import-reading-list-error": "حدث خطأ أثناء استيراد قائمة القراءة.",
137+
"disable-sandbox": "تم تشغيل kiwix من أحد محركات الشبكة، ومعلوم أن هذا قد يتسبب في حدوث مشاكل في التوافق مع بيئة المتصفح الآمن. ولذلك سيتم تعطيل التصفح الآمن. هل تريد المتابعة؟",
133138
"stop": "إيقاف",
134139
"voice": "صوت"
135140
}

resources/i18n/en.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,5 +185,8 @@
185185
"select-read-voice": "Select reading voice",
186186
"select-read-language": "Select reading language",
187187
"save-or-open": "Save or Open file",
188-
"save-or-open-text": "What should Kiwix do with this file?"
188+
"save-or-open-text": "What should Kiwix do with this file?",
189+
"speed": "Speed",
190+
"increase-tts-speed": "Increase TTS speed.",
191+
"decrease-tts-speed": "Decrease TTS speed."
189192
}

resources/i18n/it.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"name": "italiano",
1616
"error-title": "Errore",
1717
"error-downloader-window-title": "Impossibile creare downloader",
18-
"error-downloader-launch-message": "Impossibile avviare il downloader, Kiwix-desktop si avvierà ma tutte le funzioni di download non funzioneranno!",
18+
"error-downloader-launch-message": "Impossibile avviare il downloader. Kiwix-desktop si avvierà, ma tutte le funzioni di download non funzioneranno.",
1919
"error-launch-server-message": "Si è verificato un errore.",
2020
"error-archive": "Impossibile ottenere l'archivio",
2121
"error-opening-file": "Si è verificato un errore durante l'apertura del file.",

resources/i18n/lb.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
},
1010
"name": "Lëtzebuergesch",
1111
"error-title": "Feeler",
12+
"error-downloader-launch-message": "Onméiglech fir den Downloader ze starten. De Kiwix-Desktop fänkt un, awer d'Downloadfunktioune funktionéieren net all.",
1213
"error-launch-server-message": "Et ass e Feeler geschitt!",
1314
"error-opening-file": "Et gouf e Feeler beim Opmaache vum Fichier.",
1415
"open-zim": "ZIM Fichier opmaachen",

resources/i18n/qqq.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,5 +192,8 @@
192192
"select-read-voice": "Represents the action of opening the voice selection for text-to-speech.",
193193
"select-read-language": "Represents the action of opening the language selection for text-to-speech.",
194194
"save-or-open": "Title of the message box allowing to choose whether a remote resource should be saved to disk or opened with a respective application",
195-
"save-or-open-text": "Text of the message box allowing to choose whether a remote resource should be saved to disk or opened with a respective application"
195+
"save-or-open-text": "Text of the message box allowing to choose whether a remote resource should be saved to disk or opened with a respective application",
196+
"speed": "Label for text-to-speech speed adjustment control.",
197+
"increase-tts-speed": "Represents the action of increasing the speed of the text-to-speech.",
198+
"decrease-tts-speed": "Represents the action of decreasing the speed of the text-to-speech."
196199
}

resources/i18n/sv.json

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"@metadata": {
33
"authors": [
44
"Jopparn",
5+
"Larsa",
56
"Marcusjehrlander",
67
"Sabelöga",
78
"Susann Schweden",
@@ -14,6 +15,7 @@
1415
"error-downloader-launch-message": "Omöjligt att starta nedladdare, Kiwix-desktop kommer starta men alla nedladdningsfunktioner kommer inte fungera!",
1516
"error-launch-server-message": "Ett fel har uppstått!",
1617
"error-archive": "Kan inte hämta arkivet",
18+
"error-opening-file": "Det gick inte att öppna filen.",
1719
"open-zim": "Öppna ZIM-fil",
1820
"local-kiwix-server": "Lokal Kiwix-server",
1921
"random-article": "Slumpartikel",
@@ -28,6 +30,7 @@
2830
"reopen-closed-tab": "Öppna stängd flik igen",
2931
"browse-library": "Bläddra i bibliotek",
3032
"open-file": "Öppna fil",
33+
"save-file": "Spara fil",
3134
"open-recent": "Öppna senaste",
3235
"search-article": "Sök efter artikel",
3336
"search-in-library": "Sök i bibliotek",
@@ -49,6 +52,7 @@
4952
"donate-to-support-kiwix": "Donera för att stödja Kiwix",
5053
"exit": "Avsluta",
5154
"save-file-as-window-title": "Spara fil som",
55+
"download-finished": "Nedladdningen är klar",
5256
"download-finished-message": "Dokumentet laddades ned.",
5357
"file": "Fil",
5458
"edit": "Redigera",
@@ -83,6 +87,7 @@
8387
"about-kiwix-desktop-title": "Kiwix Desktop",
8488
"about-kiwix-desktop-description": "Kiwix gör det möjligt för dig att ha hela Wikipedia till hands var du än är! På en båt, mitt i ingenstans eller i fängelse, Kiwix ger dig tillgång till mänsklighetens samlade kunskap. Du behöver inget internet, allt sparas i din dator.",
8589
"about-learn-more-about-kiwix": "Lär dig mer om Kiwix",
90+
"about-privacy-policy": "Integritetspolicy",
8691
"about-release-title": "Utgåva",
8792
"about-source-code": "Mjukvaran släpps under GNU General Public License version 3. Läs källkoden på <a href='{{GITHUB_URL}}'>Github</a>.",
8893
"about-version": "Version: {{VERSION}}",
@@ -102,6 +107,9 @@
102107
"start-kiwix-server": "Starta Kiwix-server",
103108
"stop-kiwix-server": "Stoppa Kiwix-server",
104109
"all": "Alla",
110+
"all_ips": "Alla - Dubbelstackläge",
111+
"ipv4": "Enbart IPv4-läge",
112+
"ipv6": "Enbart IPv6-läge",
105113
"fulltext-search": "Fulltextsökning",
106114
"pictures": "Bilder",
107115
"videos": "Videor",
@@ -132,6 +140,7 @@
132140
"delete-book-text": "Är du säker på att du vill radera <b>{{ZIM}}</b>?",
133141
"download-storage-error": "Lagringsfel",
134142
"download-storage-error-text": "Systemet har inte tillräckligt med lagringsutrymme.",
143+
"download-exceeds-max-file-size": "Nedladdningsstorleken överskrider den maximala filstorleken som stöds av det valda filsystemet.",
135144
"download-dir-missing": "Nedladdningskatalogen finns inte.",
136145
"download-dir-not-writable": "Nedladdningskatalogen är inte skrivbar.",
137146
"download-unavailable": "Nedladdning ej tillgänglig",
@@ -159,5 +168,28 @@
159168
"file-not-found-text": "ZIM-filen finns inte eller kan inte läsas",
160169
"zim-id": "Zim-id",
161170
"zim-name": "Zim-namn",
162-
"zim-path": "Zim-filväg"
171+
"zim-path": "Zim-filväg",
172+
"bad-zim-file-error-page-title": "Ogiltig ZIM-fil",
173+
"bad-zim-file-error-page-text": "ZIM-filen är ogiltig eller skadad.",
174+
"zim-entry-path": "ZIM-ingångsväg",
175+
"export-reading-list": "Exportera läslista",
176+
"export-reading-list-error": "Ett fel har uppstått under exporten av läslistan.",
177+
"import-reading-list": "Importera läslista",
178+
"import-reading-list-error": "Ett fel har uppstått under importen av läslistan.",
179+
"disable-sandbox": "Kiwix har startats från en nätverksenhet. Det kan leda till kompatibilitetsproblem med surfsandboxing. Därför kommer sandlådan att inaktiveras. Vill du fortsätta?",
180+
"save-page-as": "Spara som...",
181+
"portable-disabled-tooltip": "Funktionen inaktiverad i portabelt läge",
182+
"scroll-next-tab": "Gå till nästa flik",
183+
"scroll-previous-tab": "Gå till föregående flik",
184+
"kiwix-search": "Kiwix-sökning",
185+
"search-options": "Sökalternativ",
186+
"read-article": "Läs artikeln",
187+
"read-text": "Läs markerad text",
188+
"read-stop": "Sluta läsa",
189+
"stop": "Stopp",
190+
"voice": "Röst",
191+
"select-read-voice": "Välj läsröst",
192+
"select-read-language": "Välj lässpråk",
193+
"save-or-open": "Spara eller Öppna fil",
194+
"save-or-open-text": "Vad ska Kiwix göra med den här filen?"
163195
}

src/kiwixapp.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -406,6 +406,8 @@ void KiwixApp::createActions()
406406
CREATE_ACTION_SHORTCUT(ReadStopAction, gt("read-stop"), QKeySequence(Qt::ALT | Qt::SHIFT | Qt::Key_X));
407407
CREATE_ACTION_SHORTCUT(ToggleTTSLanguageAction, gt("select-read-language"), QKeySequence(Qt::ALT | Qt::SHIFT | Qt::Key_L));
408408
CREATE_ACTION_SHORTCUT(ToggleTTSVoiceAction, gt("select-read-voice"), QKeySequence(Qt::ALT | Qt::SHIFT | Qt::Key_V));
409+
CREATE_ACTION_SHORTCUT(IncreaseTTSSpeedAction, gt("increase-tts-speed"), QKeySequence(Qt::Key_Greater));
410+
CREATE_ACTION_SHORTCUT(DecreaseTTSSpeedAction, gt("decrease-tts-speed"), QKeySequence(Qt::Key_Less));
409411
mpa_actions[ToggleTTSLanguageAction]->setCheckable(true);
410412
mpa_actions[ToggleTTSVoiceAction]->setCheckable(true);
411413

@@ -581,6 +583,11 @@ void KiwixApp::saveVoiceName(const QString& langName, const QString& voiceName)
581583
mp_session->setValue("voice/" + langName, voiceName);
582584
}
583585

586+
void KiwixApp::saveTtsSpeed(const QString& langName, double speed)
587+
{
588+
mp_session->setValue("speed/" + langName, speed);
589+
}
590+
584591
void KiwixApp::restoreWindowState()
585592
{
586593
getMainWindow()->restoreGeometry(mp_session->value("geometry").toByteArray());
@@ -602,6 +609,11 @@ QString KiwixApp::getSavedVoiceName(const QString& langName) const
602609
return mp_session->value("voice/" + langName, "").toString();
603610
}
604611

612+
double KiwixApp::getSavedTtsSpeed(const QString& langName) const
613+
{
614+
return mp_session->value("speed/" + langName, 1.0).toDouble(); // Default: 1.0 (normal speed)
615+
}
616+
605617
QString KiwixApp::getPrevSaveDir() const
606618
{
607619
QString prevSaveDir = mp_session->value("prevSaveDir", DEFAULT_SAVE_DIR).toString();

src/kiwixapp.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ class KiwixApp : public QtSingleApplication
5050
ToggleAddBookmarkAction,
5151
ToggleTTSLanguageAction,
5252
ToggleTTSVoiceAction,
53+
IncreaseTTSSpeedAction,
54+
DecreaseTTSSpeedAction,
5355
ZoomInAction,
5456
ZoomOutAction,
5557
ZoomResetAction,
@@ -101,10 +103,12 @@ class KiwixApp : public QtSingleApplication
101103
void saveListOfOpenTabs();
102104
void saveWindowState();
103105
void saveVoiceName(const QString& langName, const QString& voiceName);
106+
void saveTtsSpeed(const QString& langName, double speed);
104107
void restoreWindowState();
105108
void saveCurrentTabIndex();
106109
void savePrevSaveDir(const QString& prevSaveDir);
107110
QString getSavedVoiceName(const QString& langName) const;
111+
double getSavedTtsSpeed(const QString& langName) const;
108112
QString getPrevSaveDir() const;
109113
void restoreTabs();
110114
void setupDirectoryMonitoring();

src/mainmenu.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ MainMenu::MainMenu(QWidget *parent) :
4949
m_viewMenu.ADD_ACTION(ToggleReadingListAction);
5050
m_viewMenu.ADD_ACTION(ToggleTTSLanguageAction);
5151
m_viewMenu.ADD_ACTION(ToggleTTSVoiceAction);
52+
m_viewMenu.ADD_ACTION(IncreaseTTSSpeedAction);
53+
m_viewMenu.ADD_ACTION(DecreaseTTSSpeedAction);
5254
m_viewMenu.ADD_ACTION(ZoomInAction);
5355
m_viewMenu.ADD_ACTION(ZoomOutAction);
5456
m_viewMenu.ADD_ACTION(ZoomResetAction);

src/texttospeechbar.cpp

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,36 @@ TextToSpeechBar::TextToSpeechBar(QWidget *parent)
2121
connect(ui->closeButton, &QPushButton::pressed,
2222
this, &TextToSpeechBar::speechClose);
2323

24+
setupSpeedOptionsComboBox();
2425
setupVoiceComboBox();
2526
setupLanguageComboBox();
2627
languageSelected(ui->langComboBox->currentIndex());
2728
connect(app->getAction(KiwixApp::ToggleTTSLanguageAction), &QAction::triggered,
2829
this, &TextToSpeechBar::toggleLanguage);
2930
connect(app->getAction(KiwixApp::ToggleTTSVoiceAction), &QAction::triggered,
3031
this, &TextToSpeechBar::toggleVoice);
32+
connect(app->getAction(KiwixApp::IncreaseTTSSpeedAction), &QAction::triggered,
33+
this, &TextToSpeechBar::increaseSpeed);
34+
connect(app->getAction(KiwixApp::DecreaseTTSSpeedAction), &QAction::triggered,
35+
this, &TextToSpeechBar::decreaseSpeed);
36+
connect(ui->speedComboBox, QOverload<int>::of(&QComboBox::currentIndexChanged),
37+
this, &TextToSpeechBar::onSpeedChanged);
38+
}
39+
40+
void TextToSpeechBar::increaseSpeed()
41+
{
42+
int currentIndex = ui->speedComboBox->currentIndex();
43+
if (currentIndex < ui->speedComboBox->count() - 1) {
44+
ui->speedComboBox->setCurrentIndex(currentIndex + 1);
45+
}
46+
}
47+
48+
void TextToSpeechBar::decreaseSpeed()
49+
{
50+
int currentIndex = ui->speedComboBox->currentIndex();
51+
if (currentIndex > 0) {
52+
ui->speedComboBox->setCurrentIndex(currentIndex - 1);
53+
}
3154
}
3255

3356
void TextToSpeechBar::speak(const QString &text)
@@ -54,6 +77,16 @@ void TextToSpeechBar::setLocale(const QLocale& locale)
5477
}
5578
}
5679

80+
void TextToSpeechBar::setupSpeedOptionsComboBox()
81+
{
82+
ui->speedLabel->setText(gt("speed"));
83+
ui->speedComboBox->setMaxVisibleItems(10);
84+
ui->speedComboBox->setLineEdit(new ComboBoxLineEdit(ui->speedComboBox));
85+
86+
QStringList speedOptions = {"0.25","0.50","0.75","1.00","1.25","1.50","1.75","2.00"};
87+
ui->speedComboBox->addItems(speedOptions);
88+
}
89+
5790
void TextToSpeechBar::setupLanguageComboBox()
5891
{
5992
ui->langLabel->setText(gt("language"));
@@ -107,6 +140,13 @@ void TextToSpeechBar::resetVoiceComboBox()
107140
connect(ui->voiceComboBox, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &TextToSpeechBar::voiceSelected);
108141
}
109142

143+
void TextToSpeechBar::resetSpeedComboBox()
144+
{
145+
double savedSpeed = KiwixApp::instance()->getSavedTtsSpeed(m_speech.locale().name());
146+
int index = (savedSpeed - 0.25) * 4;
147+
ui->speedComboBox->setCurrentIndex(index);
148+
}
149+
110150
int TextToSpeechBar::getVoiceIndex()
111151
{
112152
int voiceIndex = 0;
@@ -174,6 +214,7 @@ void TextToSpeechBar::languageSelected(int index)
174214
const QLocale locale = ui->langComboBox->itemData(index).toLocale();
175215
m_speech.setLocale(locale);
176216
resetVoiceComboBox();
217+
resetSpeedComboBox();
177218
}
178219

179220
void TextToSpeechBar::voiceSelected(int index)
@@ -203,6 +244,24 @@ void TextToSpeechBar::onStateChanged(QTextToSpeech::State state)
203244
ui->stopButton->setEnabled(state != QTextToSpeech::Ready);
204245
}
205246

247+
void TextToSpeechBar::onSpeedChanged(int index)
248+
{
249+
QString speedText = ui->speedComboBox->itemText(index);
250+
double speed = speedText.toDouble();
251+
m_speech.setRate(speed - 1); // range:-1,1
252+
253+
// Save tts speed for current lang
254+
const auto currentLang = ui->langComboBox->currentData().toLocale().name();
255+
KiwixApp::instance()->saveTtsSpeed(currentLang, speed);
256+
257+
// Restarting the speech with new speed set above
258+
if (m_speech.state() == QTextToSpeech::Speaking)
259+
{
260+
m_speech.stop();
261+
m_speech.say(m_text);
262+
}
263+
}
264+
206265
ComboBoxLineEdit::ComboBoxLineEdit(QWidget *parent) : QLineEdit(parent)
207266
{
208267
setFrame(false);

0 commit comments

Comments
 (0)