New user registration is currently disabled due to spam abuse / Регистрация новых пользователей в настоящее время приостановлена из-за злоупотреблений спаммерами

Баги, пожелания, тестовые сборки

Обо всём по программе

Re: Баги, пожелания, тестовые сборки

Postby CAEman » Sat Apr 30, 2016 12:22 pm

0(у рекомендуемой разработчиками, по крайней мере, в целях тестирования нескомпилированной версии). В OpenSUSE приходится в /usr/lib64/ копировать символическую ссылку liblzo2.so.2 в liblzo2.so и установить пакет lzo-devel (или в /usr/include/ создать символическую ссылку на подпапку maclibs/include/lzo папки исходников), а в большинстве других дистрибутивов вообще отсутствует qmake.

Баги:
1. Отсоединённая панель Навигация после повторного запуска программы (даже свёрнутой в системный лоток: впрочем, это беда всех окон программы, что они не сворачиваются в лоток вместе с главным окном при его закрытии, правда, в отличие от панели сворачиваются в панель задач вместе с программой) открывается на всех рабочих столах поверх всех окон {СМ. РИС. на с.1} (и при этом нет возможности встроить панель на пустое место справа от меню).
2. Не работает автозапуск программы {СМ. РИС. на с.1} (в первом сообщении даже указана причина).
3. При сохранении файлов из оболочки (например, нажатии кнопки "Экспорт" в окне Заголовков словаря или выбора "Сохранить изображение..." контекстного меню рисунка в статье словаря) программа "вылетает" (при подключённом большом количестве словарей) с ошибкой (выдаваемой на консоль в случае запуска из неё оболочки) "*** buffer overflow detected ***: /usr/bin/goldendict terminated", если не нажать предварительно кнопку Пересканировать во вкладке Источники / Файлы окна Словари (без изменения словарей).
4. После нажатия кнопки Пересканировать во вкладке Источники / Файлы окна Словари {СМ. РИС. на с.1} (даже без изменения словарей) если выбран поиск в группе "Все", то число открытых программой файлов (проверка: в консоли запускаем команду lsof -p `pgrep goldendict` | wc -l) вырастает на число, равное 2-х кратному количеству подключённых словарей, причём максимальному количеству, т.е. первоначальному количеству - при его уменьшении или конечному - в случае увеличения, что может привести к "вылету" программы, если у пользователя установлено недостаточно большое значение параметра maximum file descriptor number that can be opened by a process* (проверка: в консоли запускаем команду ulimit -Sn), и только после нажатия кнопки ОК оно уменьшается до итогового значения, когда как при выборе меню Файл / Пересканировать файлы Ctrl+F5, или когда поиск задан в др. группе словарей, наоборот, число резко падает, а потом по мере пересканирования достигает (в случае Ctrl+F5) итогового значения.

Пожелания:
1. Доработать механизм запросов при помощи шаблонов (чтобы, например, запросы "аб?в" и "аб?в*" различались, как при полнотекстовом поиске, или в последнем прибавить режим поиска только в заголовках: см. п.2).
2. Чтобы функция поиска синонимов была бы отключаемой (лучше "на ходу": какой-нибудь кнопкой-переключателем). Или эти синонимы были бы отдельно "переводимыми" предлагаемыми вариантами в панели поиска (а то набрав при наличии определённых словарей с синонимами, например, "верблюд" и выбрав "верблюд" получаешь статьи с заголовком "верблюд", а выбрав "верблюды", получаешь- и "верблюд", и "верблюды", но при этом в панели поиска предлагаются варианты только с "верблюды", а, например, на "елка" получаешь только "елка" и на "ёлка" - только "ёлка" при предлагаемых в панели поиска вариантах и с "ёлка", и с "елка", хотя логичнее было бы наоборот...). Если же это по какой-либо причине невозможно, то нельзя ли тогда добавить в полнотекстовом поиске Режим: Поиск в заголовках (лучше шаблонный)?
3. Чтобы функция выделения слова одиночным щелчком срабатывала только в случае отпускания в месте нажатия, т.е. сохранилась бы возможность выделения части слова.
4. Чтобы к XDXF словарям подгружались dict.bmp иконки.
5. Увеличить немного размер закладки Панели поиска (чтобы её название отображалось целиком, как, например, более длинное название Панели журнала). {СМ. РИС. на с.1}
6. Добавить в Параметрах Интерфейса в списке Стилей интерфейса стиль "Пользовательский", после первичного выбора которого в него копировались бы параметры текущего стиля и прибавилась бы возможность изменения (за счёт появления рядом нового списка и|или контекстного меню при щелчке правой кнопкой мыши на соответствующей панели) таких параметров, как цвет фона, размер шрифта Панели навигации по переводу и т.п. {СМ. РИС. на с.1}, а для начала, если всё это сложно, хотя бы сделать фон всех окон как у Описания и списка Файлов, из которых состоит словарь, и добавить возможность изменения размера шрифта Панели навигации по переводу (пусть и вместе со всеми остальными списками, кроме списка слов), как это сделано для Панели поиска (т.е. списка слов) и содержания статей.
7. Добавить в Пути для поиска файлов словарей что-то вроде "Включён/Отключён", чтобы не приходилось делать лишнюю подпапку для использования в этих целях "Рекурсивно". {СМ. РИС. на с.1}
8. ОЧЕНЬ ЖЕЛАТЕЛЬНО, чтобы в окне Порядка словарей в первой строке контекстного меню находилось бы безобидное "Заголовки словаря", поскольку из-за срабатывания выбора первой строки контекстного меню при нечаянном смещении мыши во время щелчка правой кнопкой происходит пересортировка словарей, что можно и не заметить из-за отсутствия смещения находящегося в центре внимания выбранного словаря и нажать кнопку "ОК", что, в свою очередь, для восстановления нужного пользователю порядка словарей при отсутствии резервной копии файла конфигурации приводит к необходимости ручной пересортировки всех словарей (которых может быть и тысяча)!
Непонятно, зачем в окне Файлов, из которых состоит словарь, при их количестве 3 (а при не умещении в окне полного пути файла - и при 2) появляется справа полоса прокрутки с возможностью прокрутки на 1 строку (а при 4 файлах или 3 файлах с неумещением - на 2 строки), когда как имеется место для отображения 4 файлов (по-моему, её вообще можно было бы исключить, если увеличить на 1 строку окно, чтобы по вертикали всё умещалось бы и при 4 файлах, т.е., вроде, максимальном используемом количестве, и появлении нижней полосы прокрутки в случае не умещения в окне полного пути файла)? Также непонятно, почему файл описания, например, ifo присутствует в данном списке, а ann - нет (при том, что бывают DSL словари как с файлом аннотации *.ann, так и без него, т.е. точно также, как в случае присутствующего в упомянутом списке файла аббревиатур)?


*Имея права суперпользователя (root), увеличить данное значение можно путём редактирования значений параметров:
1) в старых системах - HARDFDLIMITS и SOFTFDLIMITS в файле /etc/sysconfig/ulimit
(а, например, в OpenSUSE это можно сделать также в Центре управления Yast2: Система/"Редактор /etc/sysconfig": System/Limits),
где можно установить указанные значения равными 4096, 8192, 16384, 32768, 65536, ..., при этом значение SOFTFDLIMITS не должно превышать таковое для HARDFDLIMITS,
а в файле /etc/initscript присваивание значения HARDFDLIMITS обязательно ДОЛЖНО ВЕЗДЕ ПРЕДШЕСТВОВАТЬ таковому для SOFTFDLIMITS, например:
Code: Select all
  test -z "$HARGS"  || ulimit $HARGS
  test -z "$SARGS"  || ulimit $SARGS
,
но не наоборот (тогда необходимо поменять их местами)!
2) в новых системах - DefaultLimitNOFILE в файле /etc/systemd/system.conf (можно установить и =infinity - будут тогда равными 65536 и ulimit -Hn, и ulimit -Sn)

Если же прав суперпользователя нет, а значение ulimit -Hn больше ulimit -Sn,
то программу можно запускать через скрипт (т.е., например, созданный в файловом менеджере текстовый файл с установленными в его свойствах правами на выполнение) следующего содержания:
Code: Select all
#! /bin/sh
#
ulimit -Sn 8192
ulimit -Sn
goldendict

где при необходимости изменяем 8192, чтобы было не больше значения, выдаваемого командой ulimit -Hn, а если программа не установлена (например, просто скомпилирована без make install), то перед исполняемым файлом goldendict указываем полный путь к нему.
CAEman
 
Posts: 138
Joined: Sat Nov 24, 2012 12:13 pm

Re: Баги, пожелания, тестовые сборки

Postby CAEman » Sat Apr 30, 2016 12:28 pm

master версия от 23.04.16
Никаких исправлений / доработок...
CAEman
 
Posts: 138
Joined: Sat Nov 24, 2012 12:13 pm

Re: Баги, пожелания, тестовые сборки

Postby dg333 » Mon May 02, 2016 8:41 am

CAEman wrote:…в большинстве других дистрибутивов вообще отсутствует qmake.


Понимаю, что прозвучит как очень тупой вопрос, но: разве это не часть gcc?! Тогда Суська рулит!
dg333
 
Posts: 117
Joined: Fri Jun 05, 2009 9:50 am

Re: Баги, пожелания, тестовые сборки

Postby CAEman » Fri May 06, 2016 1:47 pm

26.04.16
--//--
CAEman
 
Posts: 138
Joined: Sat Nov 24, 2012 12:13 pm

Re: Баги, пожелания, тестовые сборки

Postby CAEman » Sat May 14, 2016 10:39 am

dg333 wrote:Понимаю, что прозвучит как очень тупой вопрос, но: разве это не часть gcc?! Тогда Суська рулит!

Я сам - простой пользователь, т.е. "очень тупой". Поэтому, когда "очень умный" разработчик (в данном случае последнее слово, судя по всему, тоже нужно брать в кавычки) Abs62 написал в ответ на приведение мной соответствующего бага, что это у меня система такая, то я (специально для этого!) где-то с год назад пробовал установить более популярные дистр-ы (т.е. Mageia и Fedora, так как системы с нестандартными deb пакетами ещё никогда не пробовал), естественно, как всегда, с полной установкой всех пакетов из дистрибутива (обычно сопровождаемой разрешением небольшого числа конфликтов). В обоих случаях пришлось добавлять из сетевых реп-ев упомянутый пакет...
Last edited by CAEman on Sat Aug 13, 2016 12:21 pm, edited 1 time in total.
CAEman
 
Posts: 138
Joined: Sat Nov 24, 2012 12:13 pm

Re: Баги, пожелания, тестовые сборки

Postby CAEman » Sat May 14, 2016 10:41 am

02.05.16
--//--
15.05.16
--//--
21.05.16
--//--
03.06.16
--//--
14.06.16
--//--
Last edited by CAEman on Sat Aug 13, 2016 12:16 pm, edited 1 time in total.
CAEman
 
Posts: 138
Joined: Sat Nov 24, 2012 12:13 pm

Re: Баги, пожелания, тестовые сборки

Postby iQuarck » Sat Jul 23, 2016 3:58 pm

При пользовании бесплатной версией у меня не "произносятся" слова из словаря Lingvo. То есть кнопка нажимается, а звука нет. В других программах, включая Лингво, такой проблемы нет. Будут ли воспроизводиться слова в платной версии GoldenDict?

Андроид 6 на LG V10 без рут прав.
iQuarck
 
Posts: 2
Joined: Sat Jul 23, 2016 3:45 pm

Re: Баги, пожелания, тестовые сборки

Postby CAEman » Sat Aug 13, 2016 12:24 pm

0(у рекомендуемой разработчиками, по крайней мере, в целях тестирования нескомпилированной версии). В OpenSUSE приходится в /usr/lib64/ копировать символическую ссылку liblzo2.so.2 в liblzo2.so и установить пакет lzo-devel (или в /usr/include/ создать символическую ссылку на подпапку maclibs/include/lzo папки исходников), а в большинстве других дистрибутивов вообще отсутствует qmake.

Баги:
1. Отсоединённая панель Навигация после повторного запуска программы (даже свёрнутой в системный лоток: впрочем, это беда всех окон программы, что они не сворачиваются в лоток вместе с главным окном при его закрытии, правда, в отличие от панели сворачиваются в панель задач вместе с программой) открывается на всех рабочих столах поверх всех окон {СМ. РИС. на с.1} (и при этом нет возможности встроить панель на пустое место справа от меню).
2. Не работает автозапуск программы {СМ. РИС. на с.1}.
Решение (замена соответствующего кода в файле mainwindow.cc):
Code: Select all
void MainWindow::setAutostart(bool autostart)
{
#ifdef Q_OS_WIN32
    QSettings reg("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run",
                  QSettings::NativeFormat);
    if (autostart) {
        QString app_fname = QString("\"%1\"").arg( QCoreApplication::applicationFilePath() );
        app_fname.replace("/", "\\");
        reg.setValue(QCoreApplication::applicationName(), app_fname);
    }
    else {
        reg.remove(QCoreApplication::applicationName());
    }
    reg.sync();
#else
    // this is for Linux
    QString app_fname = QFileInfo(QCoreApplication::applicationFilePath()).baseName();
    QString lnk(QDir::homePath()+"/.config/autostart/"+"goldendict.desktop");
    if (autostart) {
        QFile f("/usr/share/applications/goldendict.desktop");
        f.link(lnk);
    } else {
        QFile::remove(lnk);
    }
#endif
}

3. При сохранении файлов из оболочки (например, нажатии кнопки "Экспорт" в окне Заголовков словаря или выбора "Сохранить изображение..." контекстного меню рисунка в статье словаря) программа "вылетает" (при подключённом большом количестве словарей) с ошибкой (выдаваемой на консоль в случае запуска из неё оболочки) "*** buffer overflow detected ***: /usr/bin/goldendict terminated", если не нажать предварительно кнопку Пересканировать во вкладке Источники / Файлы окна Словари (без изменения словарей).
4. После нажатия кнопки Пересканировать во вкладке Источники / Файлы окна Словари {СМ. РИС. на с.1} (даже без изменения словарей) если выбран поиск в группе "Все", то число открытых программой файлов (проверка: в консоли запускаем команду lsof -p `pgrep goldendict` | wc -l) вырастает на число, равное 2-х кратному количеству подключённых словарей, причём максимальному количеству, т.е. первоначальному количеству - при его уменьшении или конечному - в случае увеличения, что может привести к "вылету" программы, если у пользователя установлено недостаточно большое значение параметра maximum file descriptor number that can be opened by a process* (проверка: в консоли запускаем команду ulimit -Sn), и только после нажатия кнопки ОК оно уменьшается до итогового значения, когда как при выборе меню Файл / Пересканировать файлы Ctrl+F5, или когда поиск задан в др. группе словарей, наоборот, число резко падает, а потом по мере пересканирования достигает (в случае Ctrl+F5) итогового значения.

Пожелания:
0. Доработать механизм индексации (чтобы после прерывания процесса полнотекстового индексирования словаря из-за завершения работы приложения при возобновлении процесса индексация словаря продолжилась с того же или близкого по времени места, на котором была прервана, а также чтобы при неизменности указанного в конфигурации пути к словарям, в т.ч. сформированного при помощи символических ссылок, переиндексация данных словарей не происходила в случае изменения "реального" пути монтирования, например, как в StarDict).
1. Доработать механизм запросов при помощи шаблонов (чтобы, например, запросы "аб?в" и "аб?в*" различались, как при полнотекстовом поиске, или в последнем прибавить режим поиска только в заголовках: см. п.2).
2. Чтобы функция поиска синонимов была бы отключаемой (лучше "на ходу": какой-нибудь кнопкой-переключателем). Или эти синонимы были бы отдельно "переводимыми" предлагаемыми вариантами в панели поиска (а то набрав при наличии определённых словарей с синонимами, например, "верблюд" и выбрав "верблюд" получаешь статьи с заголовком "верблюд", а выбрав "верблюды", получаешь- и "верблюд", и "верблюды", но при этом в панели поиска предлагаются варианты только с "верблюды", а, например, на "елка" получаешь только "елка" и на "ёлка" - только "ёлка" при предлагаемых в панели поиска вариантах и с "ёлка", и с "елка", хотя логичнее было бы наоборот...). Если же это по какой-либо причине невозможно, то нельзя ли тогда добавить в полнотекстовом поиске Режим: Поиск в заголовках (лучше шаблонный)?
3. Чтобы функция выделения слова одиночным щелчком срабатывала только в случае отпускания в месте нажатия, т.е. сохранилась бы возможность выделения части слова.
4. Чтобы к XDXF словарям подгружались dict.bmp иконки.
Решение (замена соответствующего кода в файле xdxf.cc):
Code: Select all
void XdxfDictionary::loadIcon() throw()
{
  if ( dictionaryIconLoaded )
    return;

  QString fileName =
    QDir::fromNativeSeparators( FsEncoding::decode( getDictionaryFilenames()[ 0 ].c_str() ) );

  QFileInfo baseInfo( fileName );

  fileName = baseInfo.absoluteDir().absoluteFilePath( "icon32.png" );
  QFileInfo info( fileName );

  if( !info.isFile() )
  {
      fileName = baseInfo.absoluteDir().absoluteFilePath( "icon16.png" );
      info = QFileInfo( fileName );
  }

  if( !info.isFile() )
  {
      fileName = baseInfo.absoluteDir().absoluteFilePath( "dict.bmp" );
      info = QFileInfo( fileName );
  }

  if ( info.isFile() )
    loadIconFromFile( fileName, true );

  if ( dictionaryIcon.isNull() )
  {
    // Load failed -- use default icons

    dictionaryIcon = QIcon(":/icons/icon32_xdxf.png");
    dictionaryNativeIcon = QIcon(":/icons/icon32_xdxf.png");
  }

  dictionaryIconLoaded = true;
}

5. Изменить перевод закладок Панели поиска и Панели навигации по переводу (чтобы их названия отображались целиком, как, например, название Панели журнала). {СМ. РИС. на с.1}
Решение:
удаление в файле locale/ru_RU.ts из переводов соответствующих заголовков акселератор & (&).
6. Добавить в Параметрах Интерфейса в списке Стилей интерфейса стиль "Пользовательский", после первичного выбора которого в него копировались бы параметры текущего стиля и прибавилась бы возможность изменения (за счёт появления рядом нового списка и|или контекстного меню при щелчке правой кнопкой мыши на соответствующей панели) таких параметров, как цвет фона, размер шрифта Панели навигации по переводу и т.п. {СМ. РИС. на с.1}, а для начала, если всё это сложно, хотя бы сделать фон всех окон как у Описания и списка Файлов, из которых состоит словарь, и добавить возможность изменения размера шрифта Панели навигации по переводу (пусть и вместе со всеми остальными списками, кроме списка слов), как это сделано для Панели поиска (т.е. списка слов) и содержания статей.
7. Добавить в Пути для поиска файлов словарей что-то вроде "Включён/Отключён", чтобы не приходилось делать лишнюю подпапку для использования в этих целях "Рекурсивно". {СМ. РИС. на с.1}
8. ОЧЕНЬ ЖЕЛАТЕЛЬНО, чтобы в окне Порядка словарей в первой строке контекстного меню находилось бы безобидное "Заголовки словаря", поскольку из-за срабатывания выбора первой строки контекстного меню при нечаянном смещении мыши во время щелчка правой кнопкой происходит пересортировка словарей, что можно и не заметить из-за отсутствия смещения находящегося в центре внимания выбранного словаря (особенно при включённой фильтрации) и нажать кнопку "ОК", что, в свою очередь, для восстановления нужного пользователю порядка словарей при отсутствии резервной копии файла конфигурации приводит к необходимости ручной пересортировки всех словарей (которых может быть и тысячи)!
Решение (замена соответствующего кода в файле orderandprops.cc):
Code: Select all
void OrderAndProps::contextMenuRequested( const QPoint & pos )
{
  QMenu menu( this );
   QModelIndex idx = ui.searchLine->mapToSource( ui.dictionaryOrder->indexAt( pos ) );
 sptr< Dictionary::Class > dict;
   if( idx.isValid() && (unsigned)idx.row() < ui.dictionaryOrder->getCurrentDictionaries().size() )
    dict = ui.dictionaryOrder->getCurrentDictionaries()[ idx.row() ];

  QAction * showHeadwordsAction = NULL;
  if ( dict && dict->getWordCount() > 0 )
  {
    showHeadwordsAction = new QAction( tr( "Dictionary headwords" ), &menu );
    menu.addAction( showHeadwordsAction );
  }

 QAction * sortNameAction = new QAction( tr( "Sort by name" ), &menu );
  menu.addAction( sortNameAction );
  QAction * sortLangAction = new QAction( tr( "Sort by languages" ), &menu );
  menu.addAction( sortLangAction );


  QAction * result = menu.exec( ui.dictionaryOrder->mapToGlobal( pos ) );

  if( result && result == showHeadwordsAction )
  {
    emit showDictionaryHeadwords( QString::fromUtf8( dict->getId().c_str() ) );
  }

  if( result == sortNameAction || result == sortLangAction )
  {
    vector< sptr< Dictionary::Class > > sortedDicts = ui.dictionaryOrder->getCurrentDictionaries();
    if( result == sortNameAction )
      sort( sortedDicts.begin(), sortedDicts.end(), dictNameLessThan );
    else
      sort( sortedDicts.begin(), sortedDicts.end(), dictLessThan );
    ui.dictionaryOrder->populate( sortedDicts );
  }
}

Непонятно, зачем в окне Файлов, из которых состоит словарь, при их количестве 3 (а при не умещении в окне полного пути файла - и при 2) появляется справа полоса прокрутки с возможностью прокрутки на 1 строку (а при 4 файлах или 3 файлах с неумещением - на 2 строки), когда как имеется место для отображения 4 файлов (по-моему, её вообще можно было бы исключить, если увеличить на 1 строку окно, чтобы по вертикали всё умещалось бы и при 4 файлах, т.е., вроде, максимальном используемом количестве, и появлении нижней полосы прокрутки в случае не умещения в окне полного пути файла)? Также непонятно, почему файл описания, например, ifo присутствует в данном списке, а ann - нет (при том, что бывают DSL словари как с файлом аннотации *.ann, так и без него, т.е. точно также, как в случае присутствующего в упомянутом списке файла аббревиатур)?


*Имея права суперпользователя (root), увеличить данное значение можно путём редактирования значений параметров:
1) в старых системах - HARDFDLIMITS и SOFTFDLIMITS в файле /etc/sysconfig/ulimit
(а, например, в OpenSUSE это можно сделать также в Центре управления Yast2: Система/"Редактор /etc/sysconfig": System/Limits),
где можно установить указанные значения равными 4096, 8192, 16384, 32768, 65536, ..., при этом значение SOFTFDLIMITS не должно превышать таковое для HARDFDLIMITS,
а в файле /etc/initscript присваивание значения HARDFDLIMITS обязательно ДОЛЖНО ВЕЗДЕ ПРЕДШЕСТВОВАТЬ таковому для SOFTFDLIMITS, например:
Code: Select all
  test -z "$HARGS"  || ulimit $HARGS
  test -z "$SARGS"  || ulimit $SARGS
,
но не наоборот (тогда необходимо поменять их местами)!
2) в новых системах - DefaultLimitNOFILE в файле /etc/systemd/system.conf (можно установить и =infinity - будут тогда равными 65536 и ulimit -Hn, и ulimit -Sn)

Если же прав суперпользователя нет, а значение ulimit -Hn больше ulimit -Sn,
то программу можно запускать через скрипт (т.е., например, созданный в файловом менеджере текстовый файл с установленными в его свойствах правами на выполнение) следующего содержания:
Code: Select all
#! /bin/sh
#
ulimit -Sn 8192
ulimit -Sn
goldendict

где при необходимости изменяем 8192, чтобы было не больше значения, выдаваемого командой ulimit -Hn, а если программа не установлена (например, просто скомпилирована без make install), то перед исполняемым файлом goldendict указываем полный путь к нему.
CAEman
 
Posts: 138
Joined: Sat Nov 24, 2012 12:13 pm

Re: Баги, пожелания, тестовые сборки

Postby CAEman » Sat Aug 13, 2016 12:32 pm

iQuarck wrote:При пользовании бесплатной версией у меня не "произносятся" слова из словаря Lingvo. То есть кнопка нажимается, а звука нет. В других программах, включая Лингво, такой проблемы нет. Будут ли воспроизводиться слова в платной версии GoldenDict?

Андроид 6 на LG V10 без рут прав.


Данная тема посвящена открытой части проекта, т.е. тоже для ОС на ядре Linux, но не Android, а GNU, которая у Вас на настольном компьютере...
CAEman
 
Posts: 138
Joined: Sat Nov 24, 2012 12:13 pm

Re: Баги, пожелания, тестовые сборки

Postby CAEman » Sat Oct 22, 2016 2:15 pm

25.09.16
-//-
CAEman
 
Posts: 138
Joined: Sat Nov 24, 2012 12:13 pm

PreviousNext

Return to Общий

Who is online

Users browsing this forum: Google [Bot] and 23 guests