AIMP Forum
AIMP for Windows => Skin Editor, Skin Engine => Вопросы / Questions => Topic started by: McClaud on August 09, 2016, 07:52:35
-
В нынешней Фонотеке меня не устраивает избыток «воздуха»: слишком большие межстрочные интервалы, отбирающие полезную площадь. Было бы неплохо менять их на уровне скина, посему вопрос:
Можно ли через скрипт «достучаться» до параметров MLGroupingTree
(полный путь: MusicLibraryFrame/library/libraryContent/libraryContentClient/libraryContentClientTreePane/ libraryContentClientTreePaneClient/MLGroupingTree)
Необходимо с кнопки менять параметры
StyleContent/RowContentOffsets(Bottom и Top, либо All).
(ну и, до кучи: StyleContent/AlphabeticIndexIndentBetweenCells)
А так же до MLTable
(полный путь: MusicLibraryFrame/library/libraryContent/libraryContentClient/libraryContentClientTablePane/ libraryContentClientTablePaneClient/MLGroupingTree)
Необходимо менять параметр StyleContent/RowContentOffsets(Bottom и Top, либо All).
Если можно, то пример скрипта
-
Скрипт одинаковый и для MLGroupingTree и для MLTable
procedure Execute(var State: Integer);
var
MLT : TComponent;
begin
MLT := FindObject('MLGroupingTree');
case State of
0:
begin
MLT.Set('StyleContent.RowContentOffsets.Top', 8 ); // Отступ сверху
MLT.Set('StyleContent.RowContentOffsets.Bottom', 0 ); // Отступ снизу
MLT.Set('StyleContent.AlphabeticIndexIndentBetweenCells', 0 );
end;
1:
begin
MLT.Set('StyleContent.RowContentOffsets.Top', 0);
MLT.Set('StyleContent.RowContentOffsets.Bottom', 8 );
MLT.Set('StyleContent.AlphabeticIndexIndentBetweenCells', 0 );
end;
end;
end;
Вместо Top и Bottom может быть Left, Riht или All
Для второго скрипта вставить MLTable вместо MLGroupingTree.
-
Скрипт одинаковый и для MLGroupingTree и для MLTable
Для второго скрипта вставить MLTable вместо MLGroupingTree.
Спасибо, всё получилось!
-
В вышеприведённом скрипте строчка:
MLT.Set('StyleContent.AlphabeticIndexIndentBetweenCells', 0 )
не имеет смысла, поскольку в обоих случаях присваивается одно и тоже значение "0" - его можно задать в свойствах.
Лучше одновременно менять отступы Top и Bottom, тогда текст остаётся правильно центрированным по вертикали.
Во вложении пример, в которовм слайдером можно менять эти отступы от 0 до 9.
procedure Execute(var State: Integer);
begin
with FindObject('MLTable') do
begin
Set('StyleContent.RowContentOffsets.Top', State);
Set('StyleContent.RowContentOffsets.Bottom', State)
end
end;
Но, ИМХО, нет смысла выносить это в настройки скина и оперативно менять, достаточно просто указать эти значения в свойствах, применительно к размеру используемого шрифта.
-
В вышеприведённом скрипте строчка:
MLT.Set('StyleContent.AlphabeticIndexIndentBetweenCells', 0 )
не имеет смысла, поскольку в обоих случаях присваивается одно и тоже значение "0" - его можно задать в свойствах.
Лучше одновременно менять отступы Top и Bottom, тогда текст остаётся правильно центрированным по вертикали.
Во вложении пример, в которовм слайдером можно менять эти отступы от 0 до 9.
procedure Execute(var State: Integer);
begin
with FindObject('MLTable') do
begin
Set('StyleContent.RowContentOffsets.Top', State);
Set('StyleContent.RowContentOffsets.Bottom', State)
end
end;
Но, ИМХО, нет смысла выносить это в настройки скина и оперативно менять, достаточно просто указать эти значения в свойствах, применительно к размеру используемого шрифта.
В примере скрипта значения роли не играют, я всё равно свои подставил. По поводу Top и Bottom согласен, я так и сделал. Плавное же изменение интервала, думаю, лишнее. Я, помимо дефолтного 8, сделал 2. Как раз соответствует интервалу в плейлисте, при сокрытии второй строки. Кнопка оперативного выбора для таких, как я, предпочитающих компактное отображение информации ;D
-
... Плавное же изменение интервала, думаю, лишнее. Я, помимо дефолтного 8, сделал 2.
Дело не в плавности, к скрипту можно подключить и кнопку (и не одну), указав в Action конкретное значение. Вообще, стоит ли этим озадачивать пользователя? Поставь в свойствах значение, которое тебе нравится, полагаю, никто против не будет.
-
Дело не в плавности, к скрипту можно подключить и кнопку (и не одну), указав в Action конкретное значение. Вообще, стоит ли этим озадачивать пользователя? Поставь в свойствах значение, которое тебе нравится, полагаю, никто против не будет.
Дискуссия на эту тему выявила и приверженцев двойного интервала (так что недовольные фиксированным одинарным найдутся). Ещё более расширять его ни к чему, а одинарный меня вполне устраивает. Посему я и решил ограничиться этими двумя значениями. Несколько обновлённых скинов уже выложил (https://www.aimp.ru/forum/index.php?topic=51320.msg313807#msg313807).