Allow user to set a base Qt window style #2251

Merged
PeterSurda merged 7 commits from gitea-91 into v0.6 2024-06-16 06:43:57 +02:00
Showing only changes of commit c3c41902cf - Show all commits

View File

@ -2,10 +2,13 @@
import threading import threading
import time import time
from main import TestBase from PyQt4 import QtCore, QtGui, QtTest
from bmconfigparser import config from bmconfigparser import config
from bitmessageqt import settings from bitmessageqt import settings
from .main import TestBase
class TestSettings(TestBase): class TestSettings(TestBase):
"""A test case for the "Settings" dialog""" """A test case for the "Settings" dialog"""
@ -41,13 +44,34 @@ class TestSettings(TestBase):
self.assertIs(font_setting, None) self.assertIs(font_setting, None)
style_control = self.dialog.comboBoxStyle style_control = self.dialog.comboBoxStyle
self.assertEqual(style_control.currentText(), 'GTK+') self.assertEqual(style_control.currentText(), 'GTK+')
def call_font_dialog():
"""A function to get the open font dialog and accept it"""
font_dialog = QtGui.QApplication.activeModalWidget()
self.assertTrue(isinstance(font_dialog, QtGui.QFontDialog))
selected_font = font_dialog.currentFont()
self.assertEqual(
config.safeGet('bitmessagesettings', 'font'), '{},{}'.format(
selected_font.family(), selected_font.pointSize()))
font_dialog.accept()
self.dialog.accept()
self.assertEqual(
config.safeGet('bitmessagesettings', 'windowstyle'),
style_control.currentText())
def click_font_button():
"""Use QtTest to click the button"""
QtTest.QTest.mouseClick(
self.dialog.buttonFont, QtCore.Qt.LeftButton)
style_count = style_control.count() style_count = style_control.count()
self.assertGreater(style_count, 1) self.assertGreater(style_count, 1)
for i in range(style_count): for i in range(style_count):
if i != style_control.currentIndex(): if i != style_control.currentIndex():
style_control.setCurrentIndex(i) style_control.setCurrentIndex(i)
break break
self.dialog.accept()
self.assertEqual( QtCore.QTimer.singleShot(30, click_font_button)
config.safeGet('bitmessagesettings', 'windowstyle'), QtCore.QTimer.singleShot(60, call_font_dialog)
style_control.currentText()) time.sleep(2)