Skip to content
Browse files

BrushCombo widget. Upd BSD License. Preferences.

- BrushCombo widget for selecting a brush style
- Adding some kde configuration files
- Preference dialog (not completed)
- Changing QDebug to KDebug
  • Loading branch information...
1 parent b418806 commit 4e95c3ae43c0615859c2fba519f9cebefc896865 @Ignotus committed Aug 18, 2012
View
11 CMakeLists.txt
@@ -41,6 +41,7 @@ IF (UNIX)
ENDIF (UNIX)
SET (SRCS
+ brushcombo.cpp
graphpoint.cpp
graph.cpp
dottable.cpp
@@ -55,9 +56,12 @@ SET (SRCS
pluginmanagerwidget.cpp
gameconfig.cpp
point.cpp
+ brushcombodelegate.cpp
+ kdots.kcfgc
)
SET (HEADERS
+ include/brushcombo.hpp
include/graphpoint.hpp
include/graph.hpp
include/dottable.hpp
@@ -74,6 +78,7 @@ SET (HEADERS
include/plugincontainer.hpp
include/pluginmanagerwidget.hpp
include/gameconfig.hpp
+ include/brushcombodelegate.hpp
)
SET (INTERFACE_HEAD
@@ -87,9 +92,12 @@ SET (FORMS
ui/newgamewidget.ui
ui/newgamedialog.ui
ui/pluginmanagerwidget.ui
+ ui/boardconfigwidget.ui
)
kde4_add_ui_files (SRCS ${FORMS})
+kde4_add_kcfg_files (SRCS kdots.kcfgc)
+INSTALL (FILES kdots.kcfg DESTINATION ${KCFG_INSTALL_DIR})
CONFIGURE_FILE (config.hpp.in config.hpp)
@@ -118,6 +126,7 @@ TARGET_LINK_LIBRARIES (kdots
IF (UNIX)
INSTALL (TARGETS kdots DESTINATION ${BINDIR})
INSTALL (TARGETS kdotslib DESTINATION ${LIBDIR})
+ #INSTALL ( FILES kdotsui.rc DESTINATION ${DATA_INSTALL_DIR}/kdots )
ENDIF (UNIX)
# uninstall target
@@ -129,4 +138,4 @@ CONFIGURE_FILE (
ADD_CUSTOM_TARGET (uninstall
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
-ADD_SUBDIRECTORY (plugins)
+#ADD_SUBDIRECTORY (plugins)
View
68 brushcombo.cpp
@@ -0,0 +1,68 @@
+/*
+ * KDots
+ * Copyright (c) 2011-2012 Minh Ngo <ignotusp@fedoraproject.org>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+#include "brushcombo.hpp"
+#include <QPaintEvent>
+#include <QStylePainter>
+#include "brushcombodelegate.hpp"
+
+namespace KDots
+{
+ BrushCombo::BrushCombo (QWidget* parent)
+ : KComboBox (parent)
+ {
+ for (int i = 0; i < 15; ++i)
+ {
+ addItem (QString::number (i));
+ }
+ setItemDelegate (new BrushComboDelegate (this));
+ }
+
+ void BrushCombo::paintEvent (QPaintEvent *e)
+ {
+ Q_UNUSED (e);
+
+ QStylePainter painter (this);
+ QStyleOptionComboBox opt;
+ initStyleOption (&opt);
+ painter.drawComplexControl (QStyle::CC_ComboBox, opt);
+
+ const QRect& rect = painter.style ()->subControlRect (QStyle::CC_ComboBox,
+ &opt, QStyle::SC_ComboBoxEditField, this);
+
+ QPixmap pixmap (rect.size () - QSize (4, 4));
+ QPainter pixPainter (&pixmap);
+ pixPainter.setRenderHint (QStylePainter::Antialiasing);
+ pixPainter.fillRect (pixmap.rect (), Qt::white);
+ pixPainter.fillRect (pixmap.rect (),
+ BrushComboDelegate::brushes ()[currentIndex ()]);
+ pixPainter.drawRect (pixmap.rect ());
+
+ QPainter genPainter (this);
+ genPainter.drawPixmap (rect.x () + 2, rect.y () + 2, pixmap);
+ }
+}
+
+#include "include/brushcombo.moc"
View
111 brushcombodelegate.cpp
@@ -0,0 +1,111 @@
+/*
+ * KDots
+ * Copyright (c) 2011-2012 Minh Ngo <ignotusp@fedoraproject.org>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+#include "brushcombodelegate.hpp"
+#include <KApplication>
+#include <KComboBox>
+#include <QPainter>
+
+namespace KDots
+{
+ BrushComboDelegate::BrushComboDelegate (QWidget* parent)
+ : QStyledItemDelegate (parent)
+ {
+ }
+
+ const QVector<Qt::BrushStyle>& BrushComboDelegate::brushes ()
+ {
+ static QVector<Qt::BrushStyle> brush = {
+ Qt::NoBrush, Qt::Dense1Pattern, Qt::Dense2Pattern,
+ Qt::Dense3Pattern, Qt::Dense4Pattern, Qt::Dense5Pattern,
+ Qt::Dense6Pattern, Qt::Dense6Pattern, Qt::Dense7Pattern,
+ Qt::HorPattern, Qt::VerPattern, Qt::CrossPattern,
+ Qt::BDiagPattern, Qt::FDiagPattern, Qt::DiagCrossPattern
+ };
+
+ return brush;
+ }
+
+ QWidget* BrushComboDelegate::createEditor (QWidget *parent,
+ const QStyleOptionViewItem& option, const QModelIndex& index) const
+ {
+ QComboBox* editor = new QComboBox (parent);
+ for (int i = 0, size = brushes ().size (); i < size; ++i)
+ {
+ editor->addItem (QString::number (i));
+ }
+
+ return editor;
+ }
+
+ void BrushComboDelegate::setEditorData (QWidget *editor, const QModelIndex& index) const
+ {
+ QComboBox *comboBox = static_cast<QComboBox*> (editor);
+ int value = index.model ()->data (index, Qt::EditRole).toUInt ();
+ comboBox->setCurrentIndex (value);
+ }
+
+ void BrushComboDelegate::setModelData (QWidget *editor, QAbstractItemModel *model,
+ const QModelIndex& index) const
+ {
+ QComboBox *comboBox = static_cast<QComboBox*> (editor);
+ model->setData (index, comboBox->currentIndex (), Qt::EditRole);
+ }
+
+ void BrushComboDelegate::updateEditorGeometry (QWidget *editor,
+ const QStyleOptionViewItem& option, const QModelIndex& index) const
+ {
+ editor->setGeometry (option.rect);
+ }
+
+ void BrushComboDelegate::paint (QPainter *painter, const QStyleOptionViewItem& option,
+ const QModelIndex& index) const
+ {
+ QStyleOptionViewItemV4 myOption = option;
+ const QRect& currentRect = myOption.rect;
+ const QRect pixmapRect (QPoint (0, 0), currentRect.size () - QSize (4, 4));
+ const QRect itemRect (currentRect.x () + 2, currentRect.y () + 2,
+ currentRect.width () - 4, currentRect.height () - 4);
+
+ QPixmap pixmap (pixmapRect.size ());
+ QPainter pixPainter (&pixmap);
+ pixPainter.setRenderHint (QPainter::Antialiasing);
+ pixPainter.fillRect (pixmap.rect (), Qt::white);
+ pixPainter.fillRect (pixmapRect, brushes ()[index.row ()]);
+ pixPainter.drawRect (pixmapRect);
+
+ KApplication::style()->drawControl(QStyle::CE_ItemViewItem, &myOption, painter);
+ painter->drawPixmap (itemRect, pixmap);
+
+ }
+
+ QSize BrushComboDelegate::sizeHint (const QStyleOptionViewItem& option,
+ const QModelIndex& index) const
+ {
+ return QSize (60, 36);
+ }
+}
+
+#include "include/brushcombodelegate.moc"
View
34 config.hpp.in
@@ -1,19 +1,27 @@
/*
- * kdots
- * Copyright (C) 2011-2012 Minh Ngo <nlminhtl@gmail.com>
+ * KDots
+ * Copyright (c) 2011-2012 Minh Ngo <ignotusp@fedoraproject.org>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
*
- * 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 3 of the License, or
- * (at your option) any later version.
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * 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/>.
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef CONFIG_HPP
#define CONFIG_HPP
View
1 dottable.cpp
@@ -24,7 +24,6 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "dottable.hpp"
-#include <QDebug>
#include "polygonfinder.hpp"
#include "stepqueue.hpp"
View
1 include/mainwindow.hpp
@@ -54,6 +54,7 @@ namespace KDots
private slots:
void on_actionNewGame_triggered ();
void destroyGame ();
+ void onPreferences ();
};
}
View
28 kdots.kcfg
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+
+<kcfgfile />
+
+<group name="Board">
+ <entry name="firstPointColor" type="Color">
+ <label>First player territory fill style</label>
+ <default>#FF0000</default>
+ </entry>
+ <entry name="secondPointColor" type="Color">
+ <label>Second player territory fill style</label>
+ <default>#0099FF</default>
+ </entry>
+ <entry name="firstFillStyle" type="Int">
+ <label>First player territory fill style</label>
+ <default>0</default>
+ </entry>
+ <entry name="secondFillStyle" type="Int">
+ <label>Second player territory fill style</label>
+ <default>0</default>
+ </entry>
+</group>
+
+</kcfg>
View
4 kdots.kcfgc
@@ -0,0 +1,4 @@
+File=kdots.kcfg
+ClassName=Settings
+Singleton=true
+Mutators=true
View
15 kdotsui.rc
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gui name="kdots"
+ version="2"
+ xmlns="http://www.kde.org/standards/kxmlgui/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kxmlgui/1.0
+ http://www.kde.org/standards/kxmlgui/1.0/kxmlgui.xsd" >
+
+ <MenuBar>
+ <Menu name="Settings">
+ <Action name="Properties" />
+ </Menu>
+ </MenuBar>
+
+</gui>
View
1 main.cpp
@@ -27,6 +27,7 @@
#include <KAboutData>
#include <KLocale>
#include <KCmdLineArgs>
+#include <brushcombo.hpp>
#include "mainwindow.hpp"
#include "gameconfig.hpp"
View
38 mainwindow.cpp
@@ -24,16 +24,18 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "mainwindow.hpp"
-#include "ui_mainwindow.h"
#include <QDir>
-#include <QDebug>
#include <KMenuBar>
#include <KStatusBar>
+#include <KConfigDialog>
#include <interface/iplugin.hpp>
#include <interface/irival.hpp>
+#include "ui_mainwindow.h"
+#include "ui_boardconfigwidget.h"
#include "newgamedialog.hpp"
#include "tablewidget.hpp"
#include "plugincontainer.hpp"
+#include "kdots.h"
namespace KDots
{
@@ -46,18 +48,42 @@ namespace KDots
statusBar ()->show ();
setCentralWidget (new QWidget (this));
- setupGUI (Create);
+ setupGUI (Create, "kdotsui.rc");
initMenu ();
}
void MainWindow::initMenu ()
{
KMenuBar *currentBar = menuBar ();
- QMenu *fileMenu = new QMenu (tr ("&File"));
- fileMenu->addAction (tr ("New game"), this, SLOT (on_actionNewGame_triggered ()));
- currentBar->insertMenu (currentBar->actionAt ({1, 1}), fileMenu);
+
+ QMenu *settingMenu = new QMenu (i18n ("&Settings"));
+ QAction *settingAction = currentBar
+ ->insertMenu (currentBar->actionAt ({1, 1}), settingMenu);
+
+ settingMenu->addAction (KIcon ("configure"), i18n ("&Preferences..."),
+ this, SLOT (onPreferences ()));
+
+ QMenu *fileMenu = new QMenu (i18n ("&File"));
+ fileMenu->addAction (i18n ("&New game"), this,
+ SLOT (on_actionNewGame_triggered ()));
+
+ currentBar->insertMenu (settingAction, fileMenu);
menuBar ()->show ();
}
+
+ void MainWindow::onPreferences ()
+ {
+ KConfigDialog dialog (this, i18n ("Preferences"), Settings::self ());
+
+ QWidget *board = new QWidget;
+
+ Ui::BoardConfigWidget *boardUi = new Ui::BoardConfigWidget;
+ boardUi->setupUi (board);
+
+ dialog.addPage (board, i18n ("Board"), QLatin1String ("games-config-options"));
+
+ dialog.exec ();
+ }
void MainWindow::on_actionNewGame_triggered ()
{
View
6 newgamedialog.cpp
@@ -24,7 +24,7 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "newgamedialog.hpp"
-#include <QDebug>
+#include <KDebug>
#include "ui_newgamedialog.h"
#include "pluginmanagerwidget.hpp"
#include "newgamewidget.hpp"
@@ -77,7 +77,7 @@ namespace KDots
if (!m_pluginManager)
{
- qWarning () << Q_FUNC_INFO << "Cannot cast to PluginManagerWidget";
+ kWarning () << "Cannot cast to PluginManagerWidget";
return;
}
@@ -86,7 +86,7 @@ namespace KDots
IPlugin *pluginInstance = PluginContainer::instance ().plugin (pluginName);
if (!pluginInstance)
{
- qDebug () << Q_FUNC_INFO << "Plugin instance not exists";
+ kDebug () << "Plugin instance not exists";
return;
}
View
1 newgamewidget.cpp
@@ -25,7 +25,6 @@
*/
#include "newgamewidget.hpp"
#include "ui_newgamewidget.h"
-#include <QDebug>
#include <QMetaType>
#include "constants.hpp"
#include "plugincontainer.hpp"
View
12 plugincontainer.cpp
@@ -24,7 +24,7 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "plugincontainer.hpp"
-#include <QDebug>
+#include <KDebug>
#include <QDir>
#include <QApplication>
#include <QPluginLoader>
@@ -51,13 +51,13 @@ namespace KDots
if (iplugin)
{
foundFlag = true;
- qDebug () << Q_FUNC_INFO << "Loading the plugin:" << iplugin->name ();
+ kDebug () << "Loading the plugin:" << iplugin->name ();
m_pluginMap.insert (iplugin->name (), iplugin);
}
else
{
- qDebug () << Q_FUNC_INFO << pluginLoader.errorString ();
- qDebug () << Q_FUNC_INFO << "Cannot load the plugin " << fileName;
+ kDebug () << pluginLoader.errorString ();
+ kDebug () << "Cannot load the plugin " << fileName;
}
}
@@ -72,9 +72,9 @@ namespace KDots
#ifdef Q_OS_UNIX
QDir libdir (PLUGINS_DIR);
if (!libdir.exists () || !findPlugin (libdir))
- qDebug () << Q_FUNC_INFO << "Plugins not found in " << libdir.absolutePath ();
+ kDebug () << "Plugins not found in " << libdir.absolutePath ();
#else
- qDebug () << Q_FUNC_INFO << "Plugins not found";
+ kDebug () << "Plugins not found";
#endif
}
View
2 pluginmanagerwidget.cpp
@@ -24,8 +24,6 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "pluginmanagerwidget.hpp"
-#include <QComboBox>
-#include <QGridLayout>
#include <interface/iplugin.hpp>
#include "plugincontainer.hpp"
#include "ui_pluginmanagerwidget.h"
View
13 plugins/ipconnect/rival.cpp
@@ -25,6 +25,7 @@
*/
#include "rival.hpp"
#include <QMessageBox>
+#include <KLocalizedString>
#include <include/stepqueue.hpp>
#include "connectdialog.hpp"
@@ -60,8 +61,8 @@ namespace KDots
void Rival::onDisconnected ()
{
QMessageBox::warning (0,
- tr ("The socket has been disconnected"),
- tr ("The socket has been disconnected"));
+ i18n ("The socket has been disconnected"),
+ i18n ("The socket has been disconnected"));
}
GameConfig Rival::getGameConfig ()
@@ -120,17 +121,17 @@ namespace KDots
SLOT (onReadyRead ()));
QMessageBox::information (0,
- tr ("Connected"),
- tr ("Good luck have fun"));
+ i18n ("Connected"),
+ i18n ("Good luck have fun"));
return config;
}
}
}
else
{
QMessageBox::warning (0,
- tr ("Warning!"),
- tr ("Cannot connect to the server: ") + m_socket->errorString ());
+ i18n ("Warning!"),
+ i18n ("Cannot connect to the server: ") + m_socket->errorString ());
emit needDestroy ();
}
View
1 stepqueue.cpp
@@ -27,7 +27,6 @@
namespace KDots
{
-
StepQueue::StepQueue (Owner firstPlayer)
: m_first (0)
, m_second (0)
View
1 tablewidget.cpp
@@ -30,7 +30,6 @@
#include <QMouseEvent>
#include <QPaintEvent>
#include <QPainter>
-#include <QDebug>
#include <interface/iplugin.hpp>
#include <interface/irival.hpp>
#include "dottable.hpp"
View
120 ui/boardconfigwidget.ui
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>BoardConfigWidget</class>
+ <widget class="QWidget" name="BoardConfigWidget">
+ <property name="modal" stdset="0">
+ <bool>false</bool>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>400</width>
+ <height>300</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Preferences</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QGroupBox" name="groupBox">
+ <property name="title">
+ <string>View</string>
+ </property>
+ <layout class="QFormLayout" name="formLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>First player point color:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="KColorButton" name="kcfg_firstPointColor">
+ <property name="color">
+ <color>
+ <red>255</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ </property>
+ <property name="defaultColor">
+ <color>
+ <red>255</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Second player point color:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="KColorButton" name="kcfg_secondPointColor">
+ <property name="color">
+ <color>
+ <red>0</red>
+ <green>153</green>
+ <blue>255</blue>
+ </color>
+ </property>
+ <property name="defaultColor">
+ <color>
+ <red>0</red>
+ <green>153</green>
+ <blue>255</blue>
+ </color>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>First player territory fill style:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>Second player territory fill style:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="KDots::BrushCombo" name="kcfg_firstFillStyle"/>
+ </item>
+ <item row="3" column="1">
+ <widget class="KDots::BrushCombo" name="kcfg_secondFillStyle"/>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <customwidgets>
+ <customwidget>
+ <class>KColorButton</class>
+ <extends>QPushButton</extends>
+ <header>kcolorbutton.h</header>
+ </customwidget>
+ <customwidget>
+ <class>KComboBox</class>
+ <extends>QComboBox</extends>
+ <header>kcombobox.h</header>
+ </customwidget>
+ <customwidget>
+ <class>KDots::BrushCombo</class>
+ <extends>KComboBox</extends>
+ <header>brushcombo.hpp</header>
+ </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>

0 comments on commit 4e95c3a

Please sign in to comment.
Something went wrong with that request. Please try again.