Merge branch 'dirview'
authorNikolay Tischenko <niktischenko@gmail.com>
Sun, 31 Oct 2010 11:36:27 +0000 (17:36 +0600)
committerNikolay Tischenko <niktischenko@gmail.com>
Sun, 31 Oct 2010 11:36:27 +0000 (17:36 +0600)
19 files changed:
.gitignore
resources/.gitignore [new file with mode: 0644]
resources/someplayer_ru.ts [new file with mode: 0644]
someplayer.pro
src/config.cpp
src/dbstorage.cpp
src/dbstorage.h
src/library.cpp
src/library.h
src/libraryform.cpp
src/main.cpp
src/mainwindow.cpp
src/mainwindow.h
src/playerform.cpp
src/playerform.h
src/settingsdialog.cpp
src/settingsdialog.h
src/ui/playerform.ui
src/ui/settingsdialog.ui

index 15cf7a4..c6fce46 100644 (file)
@@ -1 +1,4 @@
 someplayer.pro.user
+someplayer
+*.o
+*~
diff --git a/resources/.gitignore b/resources/.gitignore
new file mode 100644 (file)
index 0000000..8df47d5
--- /dev/null
@@ -0,0 +1 @@
+*.qm
diff --git a/resources/someplayer_ru.ts b/resources/someplayer_ru.ts
new file mode 100644 (file)
index 0000000..a4d6e7f
--- /dev/null
@@ -0,0 +1,785 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="ru_RU">
+<context>
+    <name>DirectoryView</name>
+    <message>
+        <location filename="../src/ui/directoryview.ui" line="14"/>
+        <source>Directories</source>
+        <translation>Каталоги</translation>
+    </message>
+</context>
+<context>
+    <name>EditTagsDialog</name>
+    <message>
+        <location filename="../src/ui/edittagsdialog.ui" line="14"/>
+        <source>Edit tags</source>
+        <translation>Редактировать теги</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/edittagsdialog.ui" line="22"/>
+        <source>Artist:</source>
+        <translation>Исполнитель:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/edittagsdialog.ui" line="32"/>
+        <source>Album:</source>
+        <translation>Альбом:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/edittagsdialog.ui" line="42"/>
+        <source>Title:</source>
+        <translation>Название:</translation>
+    </message>
+</context>
+<context>
+    <name>EqualizerDialog</name>
+    <message>
+        <location filename="../src/ui/equalizerdialog.ui" line="14"/>
+        <source>Equalizer</source>
+        <translation>Эквалайзер</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/equalizerdialog.ui" line="39"/>
+        <source>+12dB</source>
+        <translation>+12dB</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/equalizerdialog.ui" line="59"/>
+        <source>-12dB</source>
+        <translation>-12dB</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/equalizerdialog.ui" line="219"/>
+        <source>Enable</source>
+        <translation>Включен</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/equalizerdialog.ui" line="263"/>
+        <source>Save</source>
+        <translation>Сохранить</translation>
+    </message>
+</context>
+<context>
+    <name>LibraryForm</name>
+    <message>
+        <location filename="../src/ui/libraryform.ui" line="14"/>
+        <source>Library</source>
+        <translation>Библиотека</translation>
+    </message>
+    <message>
+        <location filename="../src/libraryform.cpp" line="173"/>
+        <source>Artists</source>
+        <translation>Исполнители</translation>
+    </message>
+    <message>
+        <location filename="../src/libraryform.cpp" line="200"/>
+        <source>Dynamic playlists</source>
+        <translation>Динамические плейлисты</translation>
+    </message>
+    <message>
+        <location filename="../src/libraryform.cpp" line="224"/>
+        <location filename="../src/libraryform.cpp" line="399"/>
+        <source>Albums by &quot;%1&quot;</source>
+        <translation>Альбомы &quot;%1&quot;</translation>
+    </message>
+    <message>
+        <location filename="../src/libraryform.cpp" line="236"/>
+        <source>Tracks from &quot;%1&quot; by &quot;%2&quot;</source>
+        <translation>Треки из &quot;%1&quot; от &quot;%2&quot;</translation>
+    </message>
+    <message>
+        <location filename="../src/libraryform.cpp" line="246"/>
+        <source>All tracks by &quot;%1&quot;</source>
+        <translation>Все треки &quot;%1&quot;</translation>
+    </message>
+    <message>
+        <location filename="../src/libraryform.cpp" line="263"/>
+        <source>Tracks in playlist &quot;%1&quot;</source>
+        <translation>Треки плейлиста &quot;%1&quot;</translation>
+    </message>
+    <message>
+        <location filename="../src/libraryform.cpp" line="421"/>
+        <source>Playlists</source>
+        <translation>Плейлисты</translation>
+    </message>
+    <message>
+        <location filename="../src/libraryform.cpp" line="778"/>
+        <source>Search in library</source>
+        <translation>Поиск по библиотеке</translation>
+    </message>
+</context>
+<context>
+    <name>MainWindow</name>
+    <message>
+        <location filename="../src/ui/mainwindow.ui" line="14"/>
+        <source>someplayer</source>
+        <translation>someplayer</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/mainwindow.ui" line="40"/>
+        <source>Main</source>
+        <translation>Главное</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/mainwindow.ui" line="47"/>
+        <source>Library</source>
+        <translation>Библиотека</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/mainwindow.ui" line="53"/>
+        <source>Tools</source>
+        <translation>Инструменты</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/mainwindow.ui" line="60"/>
+        <source>Player</source>
+        <translation>Плеер</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/mainwindow.ui" line="71"/>
+        <source>About</source>
+        <translation>О программе</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/mainwindow.ui" line="76"/>
+        <source>Settings</source>
+        <translation>Настройки</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/mainwindow.ui" line="81"/>
+        <source>Manage library</source>
+        <translation>Управление библиотекой</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/mainwindow.ui" line="86"/>
+        <source>Equalizer</source>
+        <translation>Эквалайзер</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/mainwindow.ui" line="91"/>
+        <source>Set timer</source>
+        <translation>Таймер выключения</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/mainwindow.ui" line="96"/>
+        <source>Save playlist</source>
+        <translation>Сохранить плейлист</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/mainwindow.ui" line="99"/>
+        <source>Ctrl+S</source>
+        <translation>Ctrl+S</translation>
+    </message>
+</context>
+<context>
+    <name>ManageLibraryForm</name>
+    <message>
+        <location filename="../src/ui/managelibraryform.ui" line="14"/>
+        <source>Manage library</source>
+        <translation>Управление библиотекой</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/managelibraryform.ui" line="231"/>
+        <source>Added directories:</source>
+        <translation>Добавленные каталоги:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/managelibraryform.ui" line="295"/>
+        <source>0 artitst</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/managelibraryform.ui" line="302"/>
+        <source>0 albums</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/managelibraryform.ui" line="312"/>
+        <source>0 tracks</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>PlayerForm</name>
+    <message>
+        <location filename="../src/ui/playerform.ui" line="14"/>
+        <source>SomePlayer</source>
+        <translation>SomePlayer</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/playerform.ui" line="124"/>
+        <source>Music off:</source>
+        <translation>Отключение через:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/playerform.ui" line="134"/>
+        <source>00:00:00</source>
+        <translation>00:00:00</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/playerform.ui" line="236"/>
+        <source>0/0</source>
+        <translation>0/0</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/playerform.ui" line="261"/>
+        <source>&lt;h3&gt;Title&lt;/h3&gt;</source>
+        <translation>&lt;h3&gt;Название&lt;/h3&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/playerform.ui" line="286"/>
+        <location filename="../src/ui/playerform.ui" line="313"/>
+        <source>00:00</source>
+        <translation>00:00</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/playerform.ui" line="347"/>
+        <source>&lt;b&gt;Artist&lt;/b&gt;&lt;br/&gt;album</source>
+        <translation>&lt;b&gt;Исполнитель&lt;/b&gt;&lt;br/&gt;альбом</translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistDialog</name>
+    <message>
+        <location filename="../src/ui/playlistdialog.ui" line="14"/>
+        <source>Dialog</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>QObject</name>
+    <message>
+        <location filename="../src/libraryform.cpp" line="65"/>
+        <source>All tracks</source>
+        <translation>Все треки</translation>
+    </message>
+</context>
+<context>
+    <name>SavePlaylistDialog</name>
+    <message>
+        <location filename="../src/ui/saveplaylistdialog.ui" line="14"/>
+        <source>Save playlist</source>
+        <translation>Сохранить плейлист</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/saveplaylistdialog.ui" line="26"/>
+        <source>Existed playlists:</source>
+        <translation>Плейлисты:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/saveplaylistdialog.ui" line="39"/>
+        <source>New: </source>
+        <translation>Новый:</translation>
+    </message>
+</context>
+<context>
+    <name>SettingsDialog</name>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="14"/>
+        <source>Settings</source>
+        <translation>Настройки</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="43"/>
+        <source>Icons theme:</source>
+        <translation>Тема иконок:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="52"/>
+        <source>White</source>
+        <translation>Белые</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="59"/>
+        <source>Black</source>
+        <translation>Чёрные</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="77"/>
+        <source>Use gradient in portrait mode:</source>
+        <translation>Использовать градиент:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="86"/>
+        <location filename="../src/ui/settingsdialog.ui" line="198"/>
+        <source>Yes</source>
+        <translation>Да</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="93"/>
+        <location filename="../src/ui/settingsdialog.ui" line="205"/>
+        <source>No</source>
+        <translation>Нет</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="114"/>
+        <source>Sort album:</source>
+        <translation>Сортировать альбомы:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="123"/>
+        <source>Alphabetical</source>
+        <translation>По алфавиту</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="130"/>
+        <source>By date</source>
+        <translation>По году</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="148"/>
+        <source>Orientation:</source>
+        <translation>Ориентация:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="157"/>
+        <source>Landscape</source>
+        <translation>Ландшафтный</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="164"/>
+        <source>Portrait</source>
+        <translation>Портретный</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="171"/>
+        <source>Auto</source>
+        <translation>Авто</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="189"/>
+        <source>Show track lenght in library view:</source>
+        <translation>Показывать длину трека в библиотеке:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="223"/>
+        <source>Language:</source>
+        <translation>Язык:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="232"/>
+        <source>English</source>
+        <translation>Английский</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/settingsdialog.ui" line="239"/>
+        <source>Russian</source>
+        <translation>Русский</translation>
+    </message>
+</context>
+<context>
+    <name>TimerDialog</name>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="14"/>
+        <source>Set timer</source>
+        <translation>Установить таймер</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="24"/>
+        <source>Hours</source>
+        <translation>Часы</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="32"/>
+        <location filename="../src/ui/timerdialog.ui" line="158"/>
+        <location filename="../src/ui/timerdialog.ui" line="652"/>
+        <source>00</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="40"/>
+        <location filename="../src/ui/timerdialog.ui" line="166"/>
+        <location filename="../src/ui/timerdialog.ui" line="660"/>
+        <source>01</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="48"/>
+        <location filename="../src/ui/timerdialog.ui" line="174"/>
+        <location filename="../src/ui/timerdialog.ui" line="668"/>
+        <source>02</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="56"/>
+        <location filename="../src/ui/timerdialog.ui" line="182"/>
+        <location filename="../src/ui/timerdialog.ui" line="676"/>
+        <source>03</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="64"/>
+        <location filename="../src/ui/timerdialog.ui" line="190"/>
+        <location filename="../src/ui/timerdialog.ui" line="684"/>
+        <source>04</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="72"/>
+        <location filename="../src/ui/timerdialog.ui" line="198"/>
+        <location filename="../src/ui/timerdialog.ui" line="692"/>
+        <source>05</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="80"/>
+        <location filename="../src/ui/timerdialog.ui" line="206"/>
+        <location filename="../src/ui/timerdialog.ui" line="700"/>
+        <source>06</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="88"/>
+        <location filename="../src/ui/timerdialog.ui" line="214"/>
+        <location filename="../src/ui/timerdialog.ui" line="708"/>
+        <source>07</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="96"/>
+        <location filename="../src/ui/timerdialog.ui" line="222"/>
+        <location filename="../src/ui/timerdialog.ui" line="716"/>
+        <source>08</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="104"/>
+        <location filename="../src/ui/timerdialog.ui" line="230"/>
+        <location filename="../src/ui/timerdialog.ui" line="724"/>
+        <source>09</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="112"/>
+        <location filename="../src/ui/timerdialog.ui" line="238"/>
+        <location filename="../src/ui/timerdialog.ui" line="732"/>
+        <source>10</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="120"/>
+        <location filename="../src/ui/timerdialog.ui" line="246"/>
+        <location filename="../src/ui/timerdialog.ui" line="740"/>
+        <source>11</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="128"/>
+        <location filename="../src/ui/timerdialog.ui" line="254"/>
+        <location filename="../src/ui/timerdialog.ui" line="748"/>
+        <source>12</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="141"/>
+        <location filename="../src/ui/timerdialog.ui" line="635"/>
+        <source>:</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="150"/>
+        <source>Minutes</source>
+        <translation>Минуты</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="262"/>
+        <location filename="../src/ui/timerdialog.ui" line="756"/>
+        <source>13</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="270"/>
+        <location filename="../src/ui/timerdialog.ui" line="764"/>
+        <source>14</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="278"/>
+        <location filename="../src/ui/timerdialog.ui" line="772"/>
+        <source>15</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="286"/>
+        <location filename="../src/ui/timerdialog.ui" line="780"/>
+        <source>16</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="294"/>
+        <location filename="../src/ui/timerdialog.ui" line="788"/>
+        <source>17</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="302"/>
+        <location filename="../src/ui/timerdialog.ui" line="796"/>
+        <source>18</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="310"/>
+        <location filename="../src/ui/timerdialog.ui" line="804"/>
+        <source>19</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="318"/>
+        <location filename="../src/ui/timerdialog.ui" line="812"/>
+        <source>20</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="326"/>
+        <location filename="../src/ui/timerdialog.ui" line="820"/>
+        <source>21</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="334"/>
+        <location filename="../src/ui/timerdialog.ui" line="828"/>
+        <source>22</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="342"/>
+        <location filename="../src/ui/timerdialog.ui" line="836"/>
+        <source>23</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="350"/>
+        <location filename="../src/ui/timerdialog.ui" line="844"/>
+        <source>24</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="358"/>
+        <location filename="../src/ui/timerdialog.ui" line="852"/>
+        <source>25</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="366"/>
+        <location filename="../src/ui/timerdialog.ui" line="860"/>
+        <source>26</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="374"/>
+        <location filename="../src/ui/timerdialog.ui" line="868"/>
+        <source>27</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="382"/>
+        <location filename="../src/ui/timerdialog.ui" line="876"/>
+        <source>28</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="390"/>
+        <location filename="../src/ui/timerdialog.ui" line="884"/>
+        <source>29</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="398"/>
+        <location filename="../src/ui/timerdialog.ui" line="892"/>
+        <source>30</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="406"/>
+        <location filename="../src/ui/timerdialog.ui" line="900"/>
+        <source>31</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="414"/>
+        <location filename="../src/ui/timerdialog.ui" line="908"/>
+        <source>32</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="422"/>
+        <location filename="../src/ui/timerdialog.ui" line="916"/>
+        <source>33</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="430"/>
+        <location filename="../src/ui/timerdialog.ui" line="924"/>
+        <source>34</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="438"/>
+        <location filename="../src/ui/timerdialog.ui" line="932"/>
+        <source>35</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="446"/>
+        <location filename="../src/ui/timerdialog.ui" line="940"/>
+        <source>36</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="454"/>
+        <location filename="../src/ui/timerdialog.ui" line="948"/>
+        <source>37</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="462"/>
+        <location filename="../src/ui/timerdialog.ui" line="956"/>
+        <source>38</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="470"/>
+        <location filename="../src/ui/timerdialog.ui" line="972"/>
+        <source>40</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="478"/>
+        <location filename="../src/ui/timerdialog.ui" line="980"/>
+        <source>41</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="486"/>
+        <location filename="../src/ui/timerdialog.ui" line="988"/>
+        <source>42</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="494"/>
+        <location filename="../src/ui/timerdialog.ui" line="996"/>
+        <source>43</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="502"/>
+        <location filename="../src/ui/timerdialog.ui" line="1004"/>
+        <source>44</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="510"/>
+        <location filename="../src/ui/timerdialog.ui" line="1012"/>
+        <source>45</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="518"/>
+        <location filename="../src/ui/timerdialog.ui" line="1020"/>
+        <source>46</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="526"/>
+        <location filename="../src/ui/timerdialog.ui" line="1028"/>
+        <source>47</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="534"/>
+        <location filename="../src/ui/timerdialog.ui" line="1036"/>
+        <source>48</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="542"/>
+        <location filename="../src/ui/timerdialog.ui" line="1044"/>
+        <source>49</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="550"/>
+        <location filename="../src/ui/timerdialog.ui" line="1052"/>
+        <source>50</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="558"/>
+        <location filename="../src/ui/timerdialog.ui" line="1060"/>
+        <source>51</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="566"/>
+        <location filename="../src/ui/timerdialog.ui" line="1068"/>
+        <source>52</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="574"/>
+        <location filename="../src/ui/timerdialog.ui" line="1076"/>
+        <source>53</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="582"/>
+        <location filename="../src/ui/timerdialog.ui" line="1084"/>
+        <source>54</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="590"/>
+        <location filename="../src/ui/timerdialog.ui" line="1092"/>
+        <source>55</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="598"/>
+        <location filename="../src/ui/timerdialog.ui" line="1100"/>
+        <source>56</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="606"/>
+        <location filename="../src/ui/timerdialog.ui" line="1108"/>
+        <source>57</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="614"/>
+        <location filename="../src/ui/timerdialog.ui" line="1116"/>
+        <source>58</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="622"/>
+        <location filename="../src/ui/timerdialog.ui" line="1124"/>
+        <source>59</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="644"/>
+        <source>Seconds</source>
+        <translation>Секунды</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="964"/>
+        <source>39</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/timerdialog.ui" line="1145"/>
+        <source>Disable</source>
+        <translation>Отключить</translation>
+    </message>
+</context>
+<context>
+    <name>ToolsWidget</name>
+    <message>
+        <location filename="../src/ui/toolswidget.ui" line="14"/>
+        <source>Form</source>
+        <translation></translation>
+    </message>
+</context>
+</TS>
index 2a1ae52..d449c94 100644 (file)
@@ -270,3 +270,5 @@ OTHER_FILES += \
     src/taglib/toolkit/tlist.tcc \
     AUTHORS.TagLib \
     COPYING.LGPL
+
+TRANSLATIONS   =  resources/someplayer_ru.ts
index 49ccfa4..ea1d02e 100644 (file)
@@ -32,6 +32,8 @@ Config::Config()
                _settings->setValue("ui/albumsorting", "date");
        if (_settings->value("ui/gradient").toString() == "")
                _settings->setValue("ui/gradient", "yes");
+       if (_settings->value("ui/language").toString() == "")
+               _settings->setValue("ui/language", "en");
 }
 
 Config::~Config() {
index b6e26bd..a9b811d 100644 (file)
@@ -88,9 +88,7 @@ void DbStorage::_prepare_queries() {
        _get_tracks_by_pattern_query = new QSqlQuery(db);
        _get_tracks_by_pattern_query->prepare("SELECT id, title, artist, album, source, count, length, year FROM "
                                              "entire WHERE "
-                                             "utitle LIKE (SELECT '%' || :ptitle || '%') OR "
-                                             "album_uname LIKE (SELECT '%' || :palbum || '%') OR "
-                                             "artist_uname LIKE (SELECT '%' || :partist || '%') "
+                                             "utitle LIKE (SELECT '%' || :ptitle || '%') "
                                              "ORDER BY artist_uname, year");
 
        _get_track_id_by_source_query = new QSqlQuery(db);
@@ -541,12 +539,10 @@ int DbStorage::_check_add_album(QString album, int artist_id, int year) {
        }
 }
 
-QList<Track> DbStorage::search(QString pattern) {
+QList<Track> DbStorage::searchTracks(QString pattern) {
        QList <Track> found;
        QSqlQuery *query = _get_tracks_by_pattern_query;
        query->bindValue(":ptitle", pattern.toUpper()); // with :pattern only doesn't work
-       query->bindValue(":palbum", pattern.toUpper());
-       query->bindValue(":partist", pattern.toUpper());
        query->exec();
        // id, title, artist, album, source, count, length, year
        while (query->next()) {
index a280fda..8dfd025 100644 (file)
@@ -52,7 +52,7 @@ namespace SomePlayer {
                        Playlist getNeverPlayed();
                        Playlist getRecentlyAdded();
 
-                       QList<Track> search(QString pattern);
+                       QList<Track> searchTracks(QString pattern);
 
                        int getArtistsCount();
                        int getAlbumsCount();
index 58dbf24..4518b70 100644 (file)
@@ -65,6 +65,15 @@ QList<Track> Library::getTracksForAlbum(QString album, QString artist) {
        return _library_storage->getTracksForAlbum(album, artist);
 }
 
+QList<Track> Library::getAllTracksForArtist(QString artist) {
+       QList<Track> all;
+       QMap<QString, int> albumsmap = getAlbumsForArtist(artist);
+       QList<QString> albums = albumsmap.keys();
+       foreach (QString album, albums) {
+               all.append(getTracksForAlbum(album, artist));
+       }
+       return all;
+}
 
 // dynamic:
 
@@ -162,8 +171,8 @@ void Library::updateTrackMetadata(Track track) {
        _resolver->updateTags(ntrack);
 }
 
-QList<Track> Library::search(QString pattern) {
-       return _library_storage->search(pattern);
+QList<Track> Library::searchTracks(QString pattern) {
+       return _library_storage->searchTracks(pattern);
 }
 
 QList<QString> Library::getDirectories() {
index 36741e0..b68333e 100644 (file)
@@ -54,8 +54,9 @@ namespace SomePlayer {
                        QList<QString> getArtists();
                        QMap<QString, int> getAlbumsForArtist(QString artist);
                        QList<Track> getTracksForAlbum(QString album, QString artist);
+                       QList<Track> getAllTracksForArtist(QString artist);
 
-                       QList<Track> search(QString pattern);
+                       QList<Track> searchTracks(QString pattern);
 
                        Playlist getFavorites();
                        Playlist getMostPlayed();
index f25bd74..7ccfb78 100644 (file)
@@ -58,9 +58,12 @@ inline void __fill_model(QStandardItemModel *model, QList<QString> data, QString
 inline void __fill_model_album(QStandardItemModel *model, QMap<QString, int> data, QString icons_theme) {
        model->clear();
        int count = data.count();
-       model->setRowCount(count);
+       model->setRowCount(count+1);
        int i = 0;
        Config config;
+       model->setItem(i, 0, new QStandardItem(QIcon(":/icons/"+icons_theme+"/deselect_all.png"), ""));
+       model->setItem(i, 1, new QStandardItem(QObject::tr("All tracks")));
+       i++;
        if (config.getValue("ui/albumsorting").toString() == "date") {
                QMap<int, QList<QString> > years;
                foreach (QString name, data.keys()) {
@@ -167,7 +170,7 @@ void LibraryForm::_view_button() {
        _state = STATE_ARTIST;
        ui->backButton->setEnabled(false);
        ui->backButton->setIcon(QIcon());
-       ui->listLabel->setText("Artists");
+       ui->listLabel->setText(tr("Artists"));
        ui->useButton->setEnabled(false);
        ui->useButton->setIcon(QIcon());
        ui->addButton->setEnabled(false);
@@ -194,7 +197,7 @@ void LibraryForm::_dynamic_button() {
        _model->setItem(3, 0, new QStandardItem(QIcon(":/icons/"+_icons_theme+"/deselect_all.png"), ""));
        _model->setItem(3, 1, new QStandardItem("Recently added"));
        ui->listView->setColumnWidth(0, 70);
-       ui->listLabel->setText("Dynamic playlists");
+       ui->listLabel->setText(tr("Dynamic playlists"));
        _state = STATE_DYNAMIC;
        ui->addButton->setEnabled(false);
        ui->addButton->setIcon(QIcon());
@@ -218,7 +221,7 @@ void LibraryForm::_process_list_click(QModelIndex index) {
                _state = STATE_ALBUM;
                ui->backButton->setEnabled(true);
                ui->backButton->setIcon(QIcon(":/icons/"+_icons_theme+"/back.png"));
-               ui->listLabel->setText(QString("Albums by \"%1\"").arg(_current_artist));
+               ui->listLabel->setText(QString(tr("Albums by \"%1\"")).arg(_current_artist));
                break;
        case STATE_ALBUM:
                if (regexp.indexIn(data) != -1) {
@@ -230,7 +233,18 @@ void LibraryForm::_process_list_click(QModelIndex index) {
                        _state = STATE_TRACK;
                        ui->backButton->setEnabled(true);
                        ui->backButton->setIcon(QIcon(":/icons/"+_icons_theme+"/back.png"));
-                       ui->listLabel->setText(QString("Tracks from \"%1\" by \"%2\"").arg(_current_album).arg(_current_artist));
+                       ui->listLabel->setText(QString(tr("Tracks from \"%1\" by \"%2\"")).arg(_current_album).arg(_current_artist));
+               } else {
+                       if (index.row() == 0) { // all tracks
+                               _current_tracks = _lib->getAllTracksForArtist(_current_artist);
+                               __fill_model_tracks(_model, _current_tracks, _icons_theme);
+                               ui->listView->setColumnWidth(0, 70);
+                               ui->listView->scrollToTop();
+                               _state = STATE_TRACK;
+                               ui->backButton->setEnabled(true);
+                               ui->backButton->setIcon(QIcon(":/icons/"+_icons_theme+"/back.png"));
+                               ui->listLabel->setText(QString(tr("All tracks by \"%1\"")).arg(_current_artist));
+                       }
                }
                break;
        case STATE_PLAYLIST:
@@ -246,7 +260,7 @@ void LibraryForm::_process_list_click(QModelIndex index) {
                        ui->backButton->setIcon(QIcon(":/icons/"+_icons_theme+"/back.png"));
                        ui->useButton->setEnabled(true);
                        ui->useButton->setIcon(QIcon(":/icons/"+_icons_theme+"/use.png"));
-                       ui->listLabel->setText(QString("Tracks in playlist \"%1\"").arg(data));
+                       ui->listLabel->setText(QString(tr("Tracks in playlist \"%1\"")).arg(data));
                }
                break;
        case STATE_DYNAMIC:
@@ -382,7 +396,7 @@ void LibraryForm::_back_button() {
                ui->listView->setColumnWidth(0, 70);
                ui->listView->scrollToTop();
                _state = STATE_ALBUM;
-               ui->listLabel->setText(QString("Albums by \"%1\"").arg(_current_artist));
+               ui->listLabel->setText(QString(tr("Albums by \"%1\"")).arg(_current_artist));
                break;
        case STATE_PLAYLIST_TRACK:
                if (_is_dynamic) {
@@ -404,7 +418,7 @@ void LibraryForm::_playlists_button() {
        _state = STATE_PLAYLIST;
        ui->backButton->setEnabled(false);
        ui->backButton->setIcon(QIcon());
-       ui->listLabel->setText("Playlists");
+       ui->listLabel->setText(tr("Playlists"));
        ui->useButton->setEnabled(false);
        ui->useButton->setIcon(QIcon());
        ui->addButton->setEnabled(false);
@@ -761,7 +775,7 @@ void LibraryForm::_search_button(bool state) {
        _tools_widget->setFocus();
        _tools_widget->reset();
        if (state) {
-               ui->listLabel->setText("Search in library");
+               ui->listLabel->setText(tr("Search in library"));
                ui->deleteButton->setIcon(QIcon());
                ui->deleteButton->setEnabled(false);
                ui->useButton->setIcon(QIcon());
@@ -795,7 +809,7 @@ void LibraryForm::_search_in_library(QString pattern) {
                _model->clear();
                return;
        }
-       _current_tracks = _lib->search(pattern);
+       _current_tracks = _lib->searchTracks(pattern);
        __fill_model_tracks(_model, _current_tracks, _icons_theme);
        ui->listView->setColumnWidth(0, 70);
        ui->listView->scrollToTop();
index 2d46863..ee0a444 100644 (file)
  */
 
 #include <QtGui/QApplication>
+#include <QTranslator>
 #include "mainwindow.h"
+#include "config.h"
+
+using namespace SomePlayer::Storage;
 
 int main(int argc, char *argv[])
 {
        QApplication a(argc, argv);
+       QTranslator *translator = new QTranslator(0);
+       Config config;
+       translator->load(QString("/opt/someplayer/someplayer_%1").arg(config.getValue("ui/language").toString()));
+       a.installTranslator(translator);
        a.setApplicationName("ru.somebody.someplayer");
        MainWindow w;
        w.setAttribute(Qt::WA_Maemo5StackedWindow);
index 9f3dd12..f71f9dc 100644 (file)
@@ -24,6 +24,7 @@
 #include <QInputDialog>
 #include <QFile>
 #include <QDesktopWidget>
+#include <QTranslator>
 
 #include "player/player.h"
 
@@ -199,7 +200,7 @@ void MainWindow::_set_timer() {
        dialog.init();
        if (_timer->isActive()) {
                dialog.showDisable();
-               int msec = _timer->interval();
+               int msec = _timeout_interval;
                int h = msec/3600000;
                int m = msec/60000 - h * 60;
                int s = msec/1000 - h * 3600 - m * 60;
@@ -209,17 +210,32 @@ void MainWindow::_set_timer() {
                if (!dialog.timerDisabled()) {
                        int h, m, s;
                        dialog.getTime(&h, &m, &s);
-                       _timer->setInterval(h*3600000+m*60000+s*1000);
+                       _timeout_interval = h*3600000+m*60000+s*1000;
+                       _timer->setInterval(1000);
+                       _timer->setSingleShot(false);
                        _timer->start();
                } else if (_timer->isActive()) {
                        _timer->stop();
+                       _player_form->hideCountdown();
                }
        }
 }
 
 void MainWindow::_timeout() {
-       _player_form->stop();
-       _timer->stop();
+       _timeout_interval -= 1000;
+       if (_timeout_interval <= 0) {
+               _player_form->stop();
+               _player_form->hideCountdown();
+               _timer->stop();
+       } else {
+               int h = _timeout_interval / 3600000;
+               int m = (_timeout_interval / 60000) - 60*h;
+               int s = (_timeout_interval / 1000) - 3600*h - 60*m;
+               QString hp = h < 10 ? QString("0%1").arg(h) : QString("%1").arg(h);
+               QString mp = m < 10 ? QString("0%1").arg(m) : QString("%1").arg(m);
+               QString sp = s < 10 ? QString("0%1").arg(s) : QString("%1").arg(s);
+               _player_form->showCountdown(hp+":"+mp+":"+sp);
+       }
 }
 
 void MainWindow::_equalizer() {
@@ -261,6 +277,9 @@ void MainWindow::settings() {
        _library_form->checkGradient();
        _directory_form->updateIcons();
        _directory_form->updateGradient();
+       QTranslator *translator = new QTranslator(this);
+       translator->load(QString("/opt/someplayer/someplayer_%1").arg(config.getValue("ui/language").toString()));
+       QApplication::installTranslator(translator);
 }
 
 void MainWindow::_orientation_changed() {
index fbfc860..4a8f41d 100644 (file)
@@ -78,6 +78,7 @@ private:
        QTimer *_timer;
        EqualizerDialog *_equalizer_dialog;
        ManageLibraryForm *_manage_library_form;
+       int _timeout_interval;
 };
 
 #endif // MAINWINDOW_H
index 83b0ee1..9120ee3 100644 (file)
@@ -137,6 +137,7 @@ PlayerForm::PlayerForm(Library* lib, QWidget *parent) :
        ui->viewButton->setIcon(QIcon(":/icons/"+_icons_theme+"/playback.png"));
        _top_gradient = ui->topWidget->styleSheet();
        _bottom_gradient = ui->bottomWidget->styleSheet();
+       ui->countdownWidget->hide();
 
        // dbus
        _dbusadaptor = new DBusAdaptop(_player);
@@ -564,3 +565,12 @@ void PlayerForm::play(Track track) {
                _player->play();
        }
 }
+
+void PlayerForm::showCountdown(QString text) {
+       ui->countdownWidget->show();
+       ui->timeLabel->setText(text);
+}
+
+void PlayerForm::hideCountdown() {
+       ui->countdownWidget->hide();
+}
index cbfa802..563d825 100644 (file)
@@ -79,6 +79,8 @@ public slots:
        void updateIcons();
        void checkGradient();
        void play(Track);
+       void showCountdown(QString);
+       void hideCountdown();
 
 private slots:
        void _library();
index 10e5831..0c54f85 100644 (file)
@@ -34,11 +34,13 @@ SettingsDialog::SettingsDialog(QWidget *parent) :
        QString orientation = config.getValue("ui/orientation").toString();
        QString icons_theme = config.getValue("ui/iconstheme").toString();
        QString gradient = config.getValue("ui/gradient").toString();
+       QString language = config.getValue("ui/language").toString();
        ui->albumsSortDButton->setChecked(true);        // defaule sorting
        ui->showTrackLenghtYButton->setChecked(true);   // show by default
        ui->orientationLButton->setChecked(true);
        ui->iconsWButton->setChecked(true);
        ui->gradientYButton->setChecked(true);
+       ui->engLangButton->setChecked(true);
        if (albumSorting == "alphabet") {
                ui->albumsSortAButton->setChecked(true);
        }
@@ -56,6 +58,9 @@ SettingsDialog::SettingsDialog(QWidget *parent) :
        if (gradient == "no") {
                ui->gradientNButton->setChecked(true);
        }
+       if (language == "ru") {
+               ui->ruLangButton->setChecked(true);
+       }
        connect (ui->albumsSortAButton, SIGNAL(toggled(bool)), this, SLOT(_set_album_sorting_alphabet(bool)));
        connect (ui->albumsSortDButton, SIGNAL(toggled(bool)), this, SLOT(_set_album_sorting_date(bool)));
        connect (ui->showTrackLenghtNButton, SIGNAL(toggled(bool)), this, SLOT(_set_track_lenght_show_no(bool)));
@@ -67,6 +72,8 @@ SettingsDialog::SettingsDialog(QWidget *parent) :
        connect (ui->iconsWButton, SIGNAL(toggled(bool)), this, SLOT(_set_icons_white(bool)));
        connect (ui->gradientNButton, SIGNAL(toggled(bool)), this, SLOT(_set_gradient_no(bool)));
        connect (ui->gradientYButton, SIGNAL(toggled(bool)), this, SLOT(_set_gradient_yes(bool)));
+       connect (ui->engLangButton, SIGNAL(toggled(bool)), this, SLOT(_set_lang_en(bool)));
+       connect (ui->ruLangButton, SIGNAL(toggled(bool)), this, SLOT(_set_lang_ru(bool)));
 }
 
 SettingsDialog::~SettingsDialog()
@@ -139,3 +146,15 @@ void SettingsDialog::_set_gradient_yes(bool checked) {
        Config config;
        config.setValue("ui/gradient", "yes");
 }
+
+void SettingsDialog::_set_lang_en(bool checked) {
+       if (!checked) return;
+       Config config;
+       config.setValue("ui/language", "en");
+}
+
+void SettingsDialog::_set_lang_ru(bool checked) {
+       if (!checked) return;
+       Config config;
+       config.setValue("ui/language", "ru");
+}
index 02a9bf9..037e6cb 100644 (file)
@@ -50,6 +50,8 @@ private slots:
        void _set_icons_black(bool);
        void _set_gradient_yes(bool);
        void _set_gradient_no(bool);
+       void _set_lang_en(bool);
+       void _set_lang_ru(bool);
 };
 
 #endif // SETTINGSDIALOG_H
index 5744bd5..8b00605 100644 (file)
           </layout>
          </item>
          <item>
+          <widget class="QWidget" name="countdownWidget" native="true">
+           <layout class="QHBoxLayout" name="horizontalLayout_3">
+            <property name="margin">
+             <number>0</number>
+            </property>
+            <item>
+             <widget class="QLabel" name="label">
+              <property name="text">
+               <string>Music off:</string>
+              </property>
+              <property name="alignment">
+               <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QLabel" name="timeLabel">
+              <property name="text">
+               <string>00:00:00</string>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </widget>
+         </item>
+         <item>
           <widget class="QTableView" name="playlistView">
            <property name="contextMenuPolicy">
             <enum>Qt::CustomContextMenu</enum>
         <string/>
        </property>
        <property name="icon">
-        <iconset resource="../../resources/resources.qrc">
+        <iconset>
          <normaloff>:/icons/white/library.png</normaloff>:/icons/white/library.png</iconset>
        </property>
        <property name="flat">
         <string/>
        </property>
        <property name="icon">
-        <iconset resource="../../resources/resources.qrc">
+        <iconset>
          <normaloff>:/icons/white/playlist.png</normaloff>:/icons/white/playlist.png</iconset>
        </property>
        <property name="checkable">
         <string/>
        </property>
        <property name="icon">
-        <iconset resource="../../resources/resources.qrc">
+        <iconset>
          <normaloff>:/icons/white/repeat_off.png</normaloff>:/icons/white/repeat_off.png</iconset>
        </property>
        <property name="iconSize">
         <string/>
        </property>
        <property name="icon">
-        <iconset resource="../../resources/resources.qrc">
+        <iconset>
          <normaloff>:/icons/white/random_off.png</normaloff>:/icons/white/random_off.png</iconset>
        </property>
        <property name="iconSize">
         <string/>
        </property>
        <property name="icon">
-        <iconset resource="../../resources/resources.qrc">
+        <iconset>
          <normaloff>:/icons/white/prev.png</normaloff>:/icons/white/prev.png</iconset>
        </property>
        <property name="flat">
         <string/>
        </property>
        <property name="icon">
-        <iconset resource="../../resources/resources.qrc">
+        <iconset>
          <normaloff>:/icons/white/play.png</normaloff>:/icons/white/play.png</iconset>
        </property>
        <property name="flat">
         <string/>
        </property>
        <property name="icon">
-        <iconset resource="../../resources/resources.qrc">
+        <iconset>
          <normaloff>:/icons/white/next.png</normaloff>:/icons/white/next.png</iconset>
        </property>
        <property name="flat">
         <string/>
        </property>
        <property name="icon">
-        <iconset resource="../../resources/resources.qrc">
+        <iconset>
          <normaloff>:/icons/white/stop.png</normaloff>:/icons/white/stop.png</iconset>
        </property>
        <property name="flat">
         <string/>
        </property>
        <property name="icon">
-        <iconset resource="../../resources/resources.qrc">
+        <iconset>
          <normaloff>:/icons/white/more.png</normaloff>:/icons/white/more.png</iconset>
        </property>
        <property name="flat">
         <string/>
        </property>
        <property name="icon">
-        <iconset resource="../../resources/resources.qrc">
+        <iconset>
          <normaloff>:/icons/white/directory.png</normaloff>:/icons/white/directory.png</iconset>
        </property>
        <property name="flat">
    </item>
   </layout>
  </widget>
- <resources>
-  <include location="../../resources/resources.qrc"/>
- </resources>
+ <resources/>
  <connections/>
 </ui>
index fe45815..a6295c2 100644 (file)
@@ -25,9 +25,9 @@
         <property name="geometry">
          <rect>
           <x>0</x>
-          <y>0</y>
+          <y>-82</y>
           <width>760</width>
-          <height>367</height>
+          <height>438</height>
          </rect>
         </property>
         <layout class="QVBoxLayout" name="verticalLayout_6">
            </layout>
           </widget>
          </item>
+         <item>
+          <widget class="QGroupBox" name="groupBox_5">
+           <property name="title">
+            <string/>
+           </property>
+           <layout class="QVBoxLayout" name="verticalLayout_8">
+            <item>
+             <widget class="QLabel" name="label_6">
+              <property name="text">
+               <string>Language:</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <layout class="QHBoxLayout" name="horizontalLayout_7">
+              <item>
+               <widget class="QRadioButton" name="engLangButton">
+                <property name="text">
+                 <string>English</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QRadioButton" name="ruLangButton">
+                <property name="text">
+                 <string>Russian</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </item>
+           </layout>
+          </widget>
+         </item>
         </layout>
        </widget>
       </widget>