| Автор | Сообщение |
|
gfilatov
|
| модератор
|
Пост N: 699
Зарегистрирован: 25.05.05
|
|
Отправлено: 29.01.08 13:59. Заголовок: Новая версия Расширенного релиза библиотеки MiniGUI (часть VI ) (продолжение)
Начало темы находится здесь, а теперь АНОНС * АНОНС * АНОНС * АНОНС * АНОНС Готовится к опубликованию новая сборка №48, которая выйдет в конце недели. Если у Вас есть интересные наработки для включения в новый релиз, то сейчас самое удобное время для их отправки мне Кратко, что нового: - исправление обнаруженных ошибок и неточностей кода; - новый класс HEADERIMAGE для Grid и Browse; - свойство Address в Hyperlink может теперь открывать папку или файл на диске; - добавлен NOTABSTOP класс для Browse; - поддержка пользовательских компонентов (заимствована из оффициального релиза); - расширения и исправления в библиотеках TsBrowse и PropGrid; - обновлены сборки Харбор и HMGS-IDE; - новые и обновленные старые примеры (как обычно  ).
|
 |
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 7772
Зарегистрирован: 12.09.06
|
|
Отправлено: 10.06.24 14:37. Заголовок: В функциях Alert*() ..
В функциях Alert*() наверное нужно сделать запоминание/возврат текущего окна и сохранения среды This Я сталкивался с проблемами при показе простого сообщения. Приходиться делать так: .... _SetThisFormInfo(oWnd) AlertStop(cMsg) // или вызов другого окна _SetThisFormInfo() ..... Пример отправил на почту.
|
 |
|
|
gfilatov2002
|
| moderator
|
Пост N: 2326
Зарегистрирован: 11.02.10
|
|
Отправлено: 12.06.24 10:48. Заголовок: Всем кому это интересно
Опубликована финальная сборка 24.06 Стандартная сборка Профессиональная сборка (под паролем) Также были подготовлены дополнительные сборки для следующих компиляторов: - MinGW GNU C 14.1.0 (packaged on 2024-05-08) - BCC 7.70 (32-bit) (основан на коде Борланда) - BCC 7.70 (64-bit) (основан на CLang 5.0) Желаю всем хорошего дня 
|
 |
|
|
gfilatov2002
|
| moderator
|
Пост N: 2327
Зарегистрирован: 11.02.10
|
|
Отправлено: 14.06.24 12:50. Заголовок: Всем кому это интересно ;-)
Продолжаем хорошие новости... Протестировал текущую сборку Минигуи со свежей сборкой разрабатываемой версии компилятора MinGW 15.0 (64-bit). Результат можно увидеть на картинке ниже. 
|
 |
|
|
krutoff
|
| |
Пост N: 240
Зарегистрирован: 17.10.05
|
|
Отправлено: 25.06.24 11:29. Заголовок: Начались проблемы с цветом заголовков
У меня один TSBrowse вызывает несколько десятков броузов. Работает один блок создания экземпляра TSBrowse. С версии 24.03 в каждом экземляре цвет заголовка и Background стал меняться. Откатился на верию 24.01 - цвета отработали нормально..
|
 |
|
|
Andrey
|
| постоянный участник
|
Пост N: 7774
Зарегистрирован: 12.09.06
|
|
Отправлено: 25.06.24 12:05. Заголовок: krutoff пишет: С ве..
krutoff пишет: | цитата: | | С версии 24.03 в каждом экземляре цвет заголовка и Background стал меняться. |
| Поставил сегодня 24.06, собрал свою большую прогу - цвет фона таблицы стал другим ! У меня в коде так: DEFINE TBROWSE oBrw ... ; BACKCOLOR aBackColor ; ... В примере Tsb_oHmgData в новой версии цвет фона таблицы тоже меняется ! Сделал в старой 23.12 фон нормальный.
|
 |
|
|
SergKis
|
| постоянный участник
|
Пост N: 4590
Зарегистрирован: 17.02.12
|
|
Отправлено: 25.06.24 13:20. Заголовок: krutoff пишет С верс..
krutoff пишет Andrey пишет | цитата: | | в старой 23.12 фон нормальный |
| Была исправлена многолетняя ошибка в тсб (METHOD New) задания цветов параметром DEFINE TBROWSE oBrw ... ; BACKCOLOR aBackColor FONTCOLOR aFontColor ; COLOR aColors ; Если посмотрите код, то была в массив aTmpColor сначала установка из элементов параметра команды, а потом делались Default-ы на все элементы aTmpColor, потом менялись принудительно др. элементы, например IF lAutoFilter aTmpColor[ 19 ] := GetSysColor( COLOR_INACTCAPTEXT ) ELSEIF lAutoSearch aTmpColor[ 19 ] := GetSysColor( COLOR_INFOBK ) ENDIF т.е. затиралась установка из массва параметра команды тсб. Приходилось всегда править цвета доп. методами :SetColor(...) Правка коснулась перестановкой действий, сначала в массиве aTmpClor заполняются цвета по умолчанию (все элементы), потом команды IF lAutoFilter ... (см. выше) и потом из параметров команды тсб переносятся значения указанных\заданных элементов. Код стал такой Скрытый текст
METHOD New( cControlName, nRow, nCol, nWidth, nHeight, bLine, aHeaders, aColSizes, cParentWnd, ; ... aTmpColor[ 1 ] := GetSysColor( COLOR_WINDOWTEXT ) // nClrText aTmpColor[ 2 ] := GetSysColor( COLOR_WINDOW ) // nClrPane aTmpColor[ 3 ] := GetSysColor( COLOR_BTNTEXT ) // nClrHeadFore aTmpColor[ 4 ] := GetSysColor( COLOR_BTNFACE ) // nClrHeadBack aTmpColor[ 5 ] := GetSysColor( COLOR_CAPTIONTEXT ) // nClrForeFocu aTmpColor[ 6 ] := GetSysColor( COLOR_ACTIVECAPTION ) // nClrFocuBack aTmpColor[ 7 ] := GetSysColor( COLOR_WINDOWTEXT ) // nClrEditFore aTmpColor[ 8 ] := GetSysColor( COLOR_WINDOW ) // nClrEditBack aTmpColor[ 9 ] := GetSysColor( COLOR_BTNTEXT ) // nClrFootFore aTmpColor[ 10 ] := GetSysColor( COLOR_BTNFACE ) // nClrFootBack aTmpColor[ 11 ] := CLR_HGRAY // nClrSeleFore inactive focused aTmpColor[ 12 ] := CLR_GRAY // nClrSeleBack inactive focused aTmpColor[ 13 ] := GetSysColor( COLOR_BTNTEXT ) // nClrOrdeFore aTmpColor[ 14 ] := GetSysColor( COLOR_BTNFACE ) // nClrOrdeBack aTmpColor[ 15 ] := GetSysColor( COLOR_BTNSHADOW ) // nClrLine aTmpColor[ 16 ] := GetSysColor( COLOR_BTNTEXT ) // nClrSupHeadFore aTmpColor[ 17 ] := GetSysColor( COLOR_BTNFACE ) // nClrSupHeadBack aTmpColor[ 18 ] := GetSysColor( COLOR_BTNTEXT ) // nClrSpecHeadFore aTmpColor[ 19 ] := GetSysColor( COLOR_BTNFACE ) // nClrSpecHeadBack aTmpColor[ 20 ] := CLR_HRED // nClrSpecHeadActive IF lAutoFilter aTmpColor[ 19 ] := GetSysColor( COLOR_INACTCAPTEXT ) ELSEIF lAutoSearch aTmpColor[ 19 ] := GetSysColor( COLOR_INFOBK ) ENDIF IF HB_ISARRAY( aColors ) .AND. Len( aColors ) > 0 IF HB_ISARRAY( aColors[ 1 ] ) FOR EACH aClr IN aColors IF HB_ISNUMERIC( aClr[ 1 ] ) .AND. aClr[ 1 ] > 0 .AND. aClr[ 1 ] <= Len( aTmpColor ) IF aClr[ 2 ] != NIL aTmpColor[ aClr[ 1 ] ] := aClr[ 2 ] ENDIF ENDIF NEXT ELSE AEval( aColors, {| bColor, nEle | iif( bColor != NIL, aTmpColor[ nEle ] := bColor, ) } ) ENDIF ENDIF ...
|
|
 |
|
|
Andrey
|
| постоянный участник
|
Пост N: 7775
Зарегистрирован: 12.09.06
|
|
Отправлено: 25.06.24 15:38. Заголовок: SergKis пишет: Была..
SergKis пишет: | цитата: | | Была исправлена многолетняя ошибка в тсб (METHOD New) задания цветов параметром |
| Так как исправить/задать заново фон ТСБ ? P.S. Поставил так, всё равно не работает !!! // цвет фона под таблицей IF MGVersNumba() >= 231202 // MG Version 23.12.02 :hBrush := aClrBrush ELSE DeleteObject(:hBrush) :hBrush := CreateSolidBrush(aClrBrush[1], aClrBrush[2], aClrBrush[3]) ENDIF
|
 |
|
|
SergKis
|
| постоянный участник
|
Пост N: 4591
Зарегистрирован: 17.02.12
|
|
Отправлено: 26.06.24 18:51. Заголовок: Кто нибудь может объ..
Кто нибудь может объяснить такую херомантию с цветами SpecHd ? Имеем в METHOD New( cControlName, nRow, nCol, nWidth, nHeight, bLine, aHeaders, aColSizes, cParentWnd, ; ... aTmpColor[ 18 ] := GetSysColor( COLOR_BTNTEXT ) // nClrSpecHeadFore aTmpColor[ 19 ] := GetSysColor( COLOR_BTNFACE ) // nClrSpecHeadBack ... IF lAutoFilter aTmpColor[ 19 ] := GetSysColor( COLOR_INACTCAPTEXT ) ELSEIF lAutoSearch aTmpColor[ 19 ] := GetSysColor( COLOR_INFOBK ) ENDIF ... ::aColors := aTmpColor ... в TSColumn еще краше METHOD DefColor( oBrw, aTmpColor ) CLASS TSColumn ... IF oBrw == NIL ... ELSE ... aTmpColor[ 17 ] := oBrw:nClrHeadBack, ; aTmpColor[ 20 ] := oBrw:nClrSpcHdActive IF oBrw:lEnum DEFAULT aTmpColor[ 18 ] := oBrw:nClrHeadFore, ; aTmpColor[ 19 ] := oBrw:nClrHeadBack ELSE DEFAULT aTmpColor[ 18 ] := oBrw:nClrEditFore, ; aTmpColor[ 19 ] := oBrw:nClrEditBack ENDIF ENDIF ... ::nClrSpcHdFore := aTmpColor[ 18 ] ::nClrSpcHdBack := aTmpColor[ 19 ] ... получается, что нет нормального задания цвета для спец. header, т.е. задаем ... AAdd( aColors, { CLR_EDITF , {|| CLR_RED } } ) // 7 , текста редактируемого поля AAdd( aColors, { CLR_EDITB , {|| CLR_YELLOW } } ) // 8 , фона редактируемого поля ... AAdd( aColors, { CLR_SPCF , {|| CLR_RED } } ) // 18, specheader text AAdd( aColors, { CLR_SPCB , {|| CLR_GRAY } } ) // 19, specheader back ... В итоге получаем цвет спец. header от CLR_EDITF и CLR_EDITB, что не правильно.
|
 |
|
|
Andrey
|
| постоянный участник
|
Пост N: 7776
Зарегистрирован: 12.09.06
|
|
Отправлено: 27.06.24 16:16. Заголовок: Если задаём цвет фон..
Если задаём цвет фона под таблицей ТОЛЬКО так: DEFINE TBROWSE &cBrw OBJ oBrw OF &cForm ; AT oTsb:nY, oTsb:nX ALIAS oTsb:cAls WIDTH oTsb:nW HEIGHT oTsb:nH CELL ; FONT oTsb:aFont ; // все фонты для таблицы BRUSH oTsb:aClrBrush ; // цвет фона под таблицей То в новой версии Минигуи 24.06 - цвет фона под таблицей будет белым ... Если добавить так, самым последним при назначении цветов: :hBrush := CreateSolidBrush(aClrBrush[1], aClrBrush[2], aClrBrush[3]) // цвет фона под таблицей То цвет фона под таблицей будет правильным. Объясните мне разницу - почему так нужно делать ? Мне не сложно добавить ещё строку в код, было бы без утечек памяти. И ещё фигня происходит, после использования oBrw:Enabled(.F.) ... oBrw:Enabled(.T.) Цвет фона под таблицей меняется на белый... 
|
 |
|
|
gfilatov2002
|
| moderator
|
Пост N: 2328
Зарегистрирован: 11.02.10
|
|
Отправлено: 28.06.24 15:16. Заголовок: Andrey пишет: Если ..
Andrey пишет: | цитата: | Если задаём цвет фона под таблицей ТОЛЬКО так: DEFINE TBROWSE &cBrw OBJ oBrw OF &cForm ; AT oTsb:nY, oTsb:nX ALIAS oTsb:cAls WIDTH oTsb:nW HEIGHT oTsb:nH CELL ; FONT oTsb:aFont ; // все фонты для таблицы BRUSH oTsb:aClrBrush ; // цвет фона под таблицей То в новой версии Минигуи 24.06 - цвет фона под таблицей будет белым |
| Благодарю за сообщение. Я уже поправил использование класса BRUSH для этого синтаксиса команды DEFINE TBROWSE. Andrey пишет: | цитата: | после использования oBrw:Enabled(.F.) ... oBrw:Enabled(.T.) Цвет фона под таблицей меняется на белый. |
| Эту проблему я тоже решил, внес исправление в код этого метода. Примечание. В вашей программе не нужно делать никаких изменений, нужна только исправленная библиотека.
|
 |
|
|
Andrey
|
| постоянный участник
|
Пост N: 7777
Зарегистрирован: 12.09.06
|
|
Отправлено: 29.06.24 13:13. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: | цитата: | | В вашей программе не нужно делать никаких изменений, нужна только исправленная библиотека. |
| Там нужно код править для цветов, с учётом нового задания цвета для спецхидера. Сделаю сам, когда пришлёте новую библиотеку.
|
 |
|
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 2329
Зарегистрирован: 11.02.10
|
|
Отправлено: 29.06.24 15:17. Заголовок: Andrey пишет: когда..
Andrey пишет: | цитата: | | когда пришлёте новую библиотеку |
| Проверь свою почту Отправлено: Вчера, 15:39 | цитата: | Андрей! Высылаю для проверки исправленный вариант библиотеки. Сейчас такой вызов должен отработать нормально DEFINE TBROWSE oBrw AT nY,nX WIDTH nW HEIGHT nH CELL ; FONT aTsbFont ; BRUSH aBrush ; ON INIT {|ob| |
| 
|
 |
|
|
Andrey
|
| постоянный участник
|
Пост N: 7778
Зарегистрирован: 12.09.06
|
|
Отправлено: 29.06.24 21:50. Заголовок: Часть заработало, а ..
Часть заработало, а цвета спецхидера нет. Отправил письмо на почту.
|
 |
|
|
gfilatov2002
|
| moderator
|
Пост N: 2330
Зарегистрирован: 11.02.10
|
|
Отправлено: 30.06.24 15:02. Заголовок: Andrey пишет: цвета..
|
 |
|
|
Andrey
|
| постоянный участник
|
Пост N: 7779
Зарегистрирован: 12.09.06
|
|
Отправлено: 07.07.24 13:36. Заголовок: ColorBack для footer..
ColorBack для footer "SELECTOR" берется из последней фантомной (добавленной колонки), которая перед VScrollBar-ом (исторически) Для замены цвета введена переменная oBrw:nClrSelectorHdBack := ... Если менять на другой цвет, то вверх таблицы становиться обгрызанным. Можно ли добавить ЕЩЁ одну переменную, типа oBrw:nClrSelectorBottomBack для задания своего цвета ? Или добавить другую переменную для верха "SELECTOR", типа oBrw:nClrSelectorTopBack для задания своего цвета ? Вот для этого (1): 
|
 |
|
|
gfilatov2002
|
| moderator
|
Пост N: 2331
Зарегистрирован: 11.02.10
|
|
Отправлено: 07.07.24 15:35. Заголовок: Andrey пишет: добав..
Andrey пишет: | цитата: | | добавить ЕЩЁ одну переменную |
| Я добавил новую переменную nClrSelectorFtBack Такой вид подвала устраивает 
|
 |
|
|
SergKis
|
| постоянный участник
|
Пост N: 4592
Зарегистрирован: 17.02.12
|
|
Отправлено: 07.07.24 15:42. Заголовок: Andrey пишет Можно л..
Andrey пишет | цитата: | | Можно ли добавить ЕЩЁ одну переменную |
| Можно добавить переменную отключающую :nClrSelectorHdBack и вкл. работу от данных цвета из колонки DATA nClrSelectorHdBack // special selector header background color DATA lClrSelectorHdBack AS LOGICAL INIT .T. // special selector header background color ON\OFF DATA nClrLine // grid line color ... METHOD DrawHeaders( lFooters, lDrawCell ) CLASS TSBrowse ... IF ::lDrawHeaders .AND. ! lFooters ... IF !( nJ == 1 .AND. ::lSelector ) IF ( nClrBack := iif( ::nColOrder == nI, oColumn:nClrOrdeBack, oColumn:nClrHeadBack ) ) == NIL nClrBack := iif( ::nColOrder == nI, nClrOrdeBack, nClrHeadBack ) ENDIF ELSEIF ! ::lClrSelectorHdBack nClrBack := oColumn:nClrHeadBack ELSEIF ::nClrSelectorHdBack != NIL nClrBack := ::nClrSelectorHdBack ELSE nClrBack := ATail( ::aColumns ):nClrHeadBack ENDIF ... IF ::lFooting .AND. ::lDrawFooters ... IF !( nJ == 1 .AND. ::lSelector ) // JP nClrBack := iif( oColumn:nClrFootBack != NIL, oColumn:nClrFootBack, nClrFootBack ) ELSEIF ! ::lClrSelectorHdBack nClrBack := oColumn:nClrFootBack ELSEIF ::nClrSelectorHdBack != NIL nClrBack := ::nClrSelectorHdBack ELSE nClrBack := ATail( ::aColumns ):nClrFootBack ENDIF ... тогда в prg делаем ~ так ... oBrw:lClrSelectorHdBack := .F. ... когда виртуальные колонки уже есть в oBrw:aColumns // изменим цвет колонки - виртуальная колонка / virtual column oBrw:GetColumn("SELECTOR"):nClrBack := nBCSpH oBrw:GetColumn("SELECTOR"):nClrFore := CLR_RED oBrw:GetColumn("SELECTOR"):nClrHeadBack := CLR_GREEN oBrw:GetColumn("SELECTOR"):nClrFootBack := CLR_YELLOW ...
|
 |
|
|
SergKis
|
| постоянный участник
|
Пост N: 4593
Зарегистрирован: 17.02.12
|
|
Отправлено: 08.07.24 11:55. Заголовок: PS Для SpecHeader та..
PS Для SpecHeader так же нужна правка, сделал так (тот же метод) ... IF ::lDrawSpecHd ... IF nI == nBegin .AND. ::lSelector //!!! nClrBacks := iif( ::lDrawSpecHd, ::nClrSpcHdBack, nClrHeadBack ) IF ::nClrSelectorHdBack != NIL nClrBacks := iif( ::lClrSelectorHdBack, ::nClrSelectorHdBack, oColumn:nClrSpcHdBack ) ELSE nClrBacks := nClrHeadBack ENDIF ELSE nClrBacks := iif( ::nPhantom == -1, ATail( ::aColumns ):nClrSpcHdBack, nClrPane ) ENDIF ... Пример использования oBrw:nClrSelectorHdBack := CLR_YELLOW oBrw:lClrSelectorHdBack := .F. // background OFF // изменим цвет колонки - виртуальная колонка / virtual column oCol := oBrw:GetColumn("SELECTOR") oCol:nClrBack := nBCSpH oCol:nClrFore := CLR_RED oCol:nClrHeadBack := CLR_BLUE oCol:nClrFootBack := CLR_GREEN oCol:nClrSpcHdBack := CLR_YELLOW oCol := oBrw:GetColumn("ORDKEYNO") oCol:nClrBack := nBCSpH oCol:nClrFore := CLR_RED oCol:nClrFootBack := nBCSpH oCol:nClrFootFore := CLR_RED
|
 |
|
|
SergKis
|
| постоянный участник
|
Пост N: 4594
Зарегистрирован: 17.02.12
|
|
Отправлено: 13.07.24 14:00. Заголовок: gfilatov2002 Сделал..
gfilatov2002 Сделал правки Скрытый текст
METHOD DrawHeaders( lFooters, lDrawCell ) CLASS TSBrowse ... IF ::lDrawSpecHd ... IF HB_ISNUMERIC( oColumn:nSLineStyle ) nLineStyle := oColumn:nSLineStyle ENDIF IF nAlign != DT_CENTER .AND. ::nCellMarginLR != NIL cHeading := ::CellMarginLeftRight( nJ, cHeading, oColumn, nAlign, lMultiLine, 0 ) ENDIF // SergKis 11.11.21 nBitmapMask := oColumn:nBmpMaskSpcHd ... METHOD InsColNumber( nWidth, nColumn, cName, nAlign, uBitmap ) ... IF ::lIsDbf ... oCol:cFooting := {| nc, ob | nc := ob:nLen, iif( Empty( nc ), '', hb_ntos( nc ) ) } IF !Empty( uBitmap ) .and. Valtype( uBitmap ) $ "NC" IF Valtype( uBitmap ) == "N" oCol:aBitMaps := { Nil, StockBmp ( uBitmap ) } ELSE oCol:aBitMaps := { Nil, LoadImage( uBitmap ) } ENDIF oCol:uBmpCell := {|nc,ob,oc| oc := ob:aColumns[ nc ], ; nc := iif( (ob:cAlias)->(Deleted()), 2, 1 ), ; oc:aBitMaps[ nc ] } ENDIF ... oCol:nFieldDec := 0 IF HB_ISNUMERIC( nAlign ) .and. nAlign >= DT_LEFT .and. nAlign <= DT_RIGHT oCol:nSAlign := nAlign oCol:nAlign := nAlign oCol:nFAlign := nAlign ENDIF IF nColumn > 0 .and. nColumn <= Len( ::aColumns ) ... FUNCTION _TBrowse( oParam, uAlias, cBrw, nY, nX, nW, nH ) ... DEFAULT aColor := { ; { CLR_FOCUSF, GetSysColor( COLOR_WINDOWTEXT ) }, ; { CLR_FOCUSB, {|c,n,b| c := n, iif( b:nCell == n, -CLR_HRED, iif( b:lIsDbf .and. (b:cAlias)->(Deleted()), -CLR_HGRAY, -RGB( 128, 225, 225 ) ) ) } }, ; { CLR_SELEF , GetSysColor( COLOR_WINDOWTEXT ) }, ; { CLR_SELEB , {|c,n,b| c := n, iif( b:nCell == n, -CLR_BLUE, -RGB( 128, 225, 225 ) ) } } } ... Можно задавать для _TBrowse(...) oTsb := oHmgData() oTsb:aFooter := .T. oTsb:aEdit := .T. oTsb:lSpecHd := .T. oTsb:uSelector := 20 oTsb:aNumber := { 1, 50, DT_RIGHT, "bRecDel16" } // варианты: //oTsb:aNumber := { 1, 50 } // center and no bitmap //oTsb:aNumber := { 1, 50, DT_RIGHT } // no bitmap //oTsb:aNumber := { 1, 50, DT_RIGHT, 1 } // StockBmp(1) //oTsb:aNumber := { 1, 50, DT_RIGHT, 7 } // StockBmp(7) oBrw := _TBrowse( oTsb, cAls, "Brw_1", nY, nX, nW, nH ) ... Может быть стоит добавить в массив ф-ии StockBmp() еще пару,тройку простых bmp - крестик, галочку, кружочек, для пометки записей удаленных и ...
| Пример на версии 23.12 https://TransFiles.ru/opjc0
|
 |
|
|
gfilatov2002
|
| moderator
|
Пост N: 2332
Зарегистрирован: 11.02.10
|
|
Отправлено: 13.07.24 16:26. Заголовок: SergKis пишет: Сдел..
SergKis пишет: Принято с благодарностью SergKis пишет: Криптование базы у меня НЕ работает. Также потребовалось добавить и пропущенную обработку новых параметров метода InsColNumber() в функцию _DefineTBrowse(). После этого вывод картинки в колонку нумератора заработал. 
|
 |
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|