* contrib/hbide/hbide.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/idesaveload.prg
* contrib/hbide/idethemes.prg
+ contrib/hbide/resources/selectionlist.ui
* contrib/hbide/resources/themes.ui
! Changed the way .ppo is presented. Now a new modeless
window displays .ppo source and thus you have more control
over comaprison with original source. You can keep as many
such .ppo windows on the screen.
+ Implemented Editor Themes.
HBIDE provides 5 default themes, along the lines of xMate, viz.,
1. Classic
2. City Lights
3. Evening Glamour
4. Sand Storm
with a few changes, and
5. Pritpal's Favourite.
Themes interface provides for changing the existing themes
as well as constructing a new one based on any exiting themes.
Then user can save them in hbide.hbt file.
HBIDE always loads default 5 themes as above then,
HBIDE looks for hbide.hbt in the same folder where it is.
If it finds one, it attempts to load it. In the loading
process it will merge the duplicate themes, including the
default ones. It means, if you modify an existing default
theme and then save it in hbide.hbt, at next invocation
default theme will be overwritten and your changes are
reflected. But if the name of the theme is changed you have
yours plus default both themes available.
Default theme is "Pritpal's Favourite" which will be applied
to any source file opened. You can override it by applying
new theme to it. Right click on <Editors Tree><_any_source_file_>
and select "Apply Theme" and finally select from a list of
themes presented in a list box by double clicking onto one
of choice. Next time you open HBIDE thus souce will be
applied the last theme selected.
You can re-define various labels on the Themes Dialog including
drop-down list items of different parts of the sources.
Just examine hbide.hbt and change the values of dialog elements.
Differences from xMate implementation:
1. Theme can be applied to indivisual source separately.
2. Theme elements can have <Italic>, <Bold> and <Underline>
attributes.
3. Themes can be copied and re-defined for n numbers.
TODO: To apply themes per project.
To implement some missing parts of source, such as,
background color of selections, etc.
You are encouraged to test this implementation. I will be
more than happy to implement descent thoughts you can imagine.
205 lines
5.3 KiB
XML
205 lines
5.3 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<ui version="4.0">
|
|
<class>dialogThemes</class>
|
|
<widget class="QDialog" name="dialogThemes">
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>0</x>
|
|
<y>0</y>
|
|
<width>430</width>
|
|
<height>385</height>
|
|
</rect>
|
|
</property>
|
|
<property name="windowTitle">
|
|
<string>HBIDE - Source Syntax Highlighting</string>
|
|
</property>
|
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
|
<item>
|
|
<layout class="QVBoxLayout" name="verticalLayout" stretch="0,1,0,0,0,0">
|
|
<property name="sizeConstraint">
|
|
<enum>QLayout::SetDefaultConstraint</enum>
|
|
</property>
|
|
<item>
|
|
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
|
<property name="spacing">
|
|
<number>10</number>
|
|
</property>
|
|
<item>
|
|
<widget class="QLabel" name="labelTheme">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>40</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
<property name="text">
|
|
<string>Theme</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QComboBox" name="comboThemes"/>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
|
<item>
|
|
<widget class="QPlainTextEdit" name="plainTextEdit"/>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
|
<property name="spacing">
|
|
<number>10</number>
|
|
</property>
|
|
<item>
|
|
<widget class="QLabel" name="labelItem">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>40</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
<property name="text">
|
|
<string>Item</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QComboBox" name="comboItems"/>
|
|
</item>
|
|
<item>
|
|
<widget class="QPushButton" name="buttonColor">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>120</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
<property name="text">
|
|
<string>Color</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
|
<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>50</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item>
|
|
<widget class="QCheckBox" name="checkBold">
|
|
<property name="text">
|
|
<string>Bold</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QCheckBox" name="checkItalic">
|
|
<property name="text">
|
|
<string>Italic</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QCheckBox" name="checkUnderline">
|
|
<property name="text">
|
|
<string>Underline</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<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>120</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
|
<item>
|
|
<widget class="Line" name="line">
|
|
<property name="orientation">
|
|
<enum>Qt::Horizontal</enum>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
|
<property name="spacing">
|
|
<number>10</number>
|
|
</property>
|
|
<item>
|
|
<widget class="QPushButton" name="buttonSave">
|
|
<property name="text">
|
|
<string>Save</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QPushButton" name="buttonSaveAs">
|
|
<property name="text">
|
|
<string>Save As</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QPushButton" name="buttonCopy">
|
|
<property name="text">
|
|
<string>Copy</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QPushButton" name="buttonApply">
|
|
<property name="text">
|
|
<string>Apply</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QPushButton" name="buttonClose">
|
|
<property name="text">
|
|
<string>Close</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<resources/>
|
|
<connections/>
|
|
</ui>
|