Страница 20 из 35
Добавлено: 05.02.2008 11:58:33
ViTality
Может свой компонентик накатать? На основе листа. Меньше багов будет. Гислер в свое время так и сделал. До сих пор работает, пятнадцатый год уже пошел.
ради справедливости замечу что описаный тобою баг
5. Колонки. Ужос (С). Дата файлов мне неинтересна, а вот аттрибуты нужны. Попытка уменишить ширину колонки "дата", привела к наложению текста полей "дата" на "тип" и "аттрибуты".
до сих пор присутствует в тотале. Как решение предлагаеться увеличение размеров колонки "тип"
Добавлено: 05.02.2008 14:04:35
B4rr4cuda
Alex2000 писал(а):Хотел сделать, однако оказывается у TSpeedButton нет событий OnDragOver, OnDragDrop. Ну и дела
Я имел ввиду перенос проги\папки\файла с панели на тулбар, но это тоже нужно.
А в чем проблема собсно? Ведь у тулбара-то эти события есть. И у DrawGrida есть. А от кнопки-то собственно только индекс нужен, который по OnMouseDown отловить можно. Вот, для примера, передающаяся в клипборд кнопка, в формате понятном Тоталу (из баредитора выдрал):
Код: Выделить всё
s:='TOTALCMD#BAR#DATA'+#13+#10+
bar.GetButton(id_btn_bar.ItemIndex,cmdX) +#13+#10+
bar.GetButton(id_btn_bar.ItemIndex,paramX) +#13+#10+
bar.GetButton(id_btn_bar.ItemIndex,ButtonX) +#13+#10+
bar.GetButton(id_btn_bar.ItemIndex,menuX) +#13+#10+
bar.GetButton(id_btn_bar.ItemIndex,pathX) +#13+#10+
bar.GetButton(id_btn_bar.ItemIndex,iconicX)+#13+#10+
'-1'+#13+#10
;
SetClipboardTextz(Application.Handle,s);
Или я недопонял чего-то?
ViTality писал(а): до сих пор присутствует в тотале. Как решение предлагаеться увеличение размеров колонки "тип"
Там можно свои колонки создать. Что я собственно и делал. Но не в этом суть, этот баг не единственный. DrawGrid себя паршиво проявил. Зазоры и прокрутка в основном мешают. С наложением, опять таки созданием своих колонок, можно решить вопрос.
ЗЫ
2
Alex2000 Может в процедуре отрисовки поля проверять ширину доступного места?
Что-то типа:
Код: Выделить всё
ks:=sModeStr;
while Canvas.TextWidth(ks)-(Rect.Right-Rect.Left)-4>0 do
delete(ks,length(ks),1);
Canvas.TextOut(Rect.Left + 2,iTextTop,{sModeStr} ks);
Добавлено: 05.02.2008 15:44:54
Alexx2000
B4rr4cuda писал(а):Я имел ввиду перенос проги\папки\файла с панели на тулбар, но это тоже нужно.
C панели на тулбар без проблем можно сделать. Я имею ввиду когда к примеру хтмл'ку перетаскиваешь на кнопку firefox на панели, и он в нем открывается.
А в чем проблема собсно? Ведь у тулбара-то эти события есть. И у DrawGrida есть. А от кнопки-то собственно только индекс нужен, который по OnMouseDown отловить можно.
Похоже так и придется делать.
Там можно свои колонки создать. Что я собственно и делал. Но не в этом суть, этот баг не единственный. DrawGrid себя паршиво проявил. Зазоры и прокрутка в основном мешают. С наложением, опять таки созданием своих колонок, можно решить вопрос.
Если делать на ЛистБоксе свой компонент, нужно как-то еще сделать заголовки колонок. Компонент HeaderControl (или как его там), мало функциональный (я не нашел возможности изменять размер колонок)
ЗЫ
2
Alex2000 Может в процедуре отрисовки поля проверять ширину доступного места?
Что-то типа:
Код: Выделить всё
ks:=sModeStr;
while Canvas.TextWidth(ks)-(Rect.Right-Rect.Left)-4>0 do
delete(ks,length(ks),1);
Canvas.TextOut(Rect.Left + 2,iTextTop,{sModeStr} ks);
Можно конечно, но тогда наверно перерисовка еще замедлится?
Добавлено: 05.02.2008 16:03:01
B4rr4cuda
Можно конечно, но тогда наверно перерисовка еще замедлится?
Может быть. Тогда может опционально? Очень уж оно некрасиво...
C панели на тулбар без проблем можно сделать. Я имею ввиду когда к примеру хтмл'ку перетаскиваешь на кнопку firefox на панели, и он в нем открывается.
О... Не знаю, насколько это нужно.
По моему, меню со списком, ассоциированных с файлом под курсором, программ будет вполне достаточно. Да и функциональнее, т.к. можно пользовать и мышью и клавой.
Кстати, еще багу обнаружил. Она к DC слабо относится, это скорее Ion3-а замутка, но может еще у кого-то где-то встретится. У иона по хоткею появляется комстрока. Особенность этой комстроки в том, что у нее собственный буфер вывода, те вывод программ не отправляется на главный буфер. И некоторые программы (я натолкнулся на это с безгуевым mplayer-ом ) при запуске с нее зависают. Дополнительная особенность в том, что форки выводят инфу туда же, и, при ступоре, тормозят родительский процесс. Т.е. при запуске клипа из DC, вис и mplayer и DC. Причем, вис намертво. Снятие только сигкилом. SIGTERM ключ -не помогал.
Workaround решение:
1) в /bin/mplayerstart
Код: Выделить всё
#!/bin/sh
mplayer "$1" 1>>/dev/null 2>>/dev/null &
2)в doublecmd.ext
Код: Выделить всё
[mpg|mpeg|avi|asf|mov]
Open=mplayerstart '%p'
Добавлено: 05.02.2008 16:25:24
Attid
О... Не знаю, насколько это нужно.
По моему, меню со списком, ассоциированных с файлом под курсором, программ будет вполне достаточно. Да и функциональнее, т.к. можно пользовать и мышью и клавой.
нужно, я в ТС пользуюсь, например появляется файл Read.me =) не асоциировать же его с блокнотом, а просто перетаскиваешь его на иконку нотепад++ и вуаля.
Alexx2000
изначально имелось ввуиду что нашел я в панели myprogra.exe перенес на тулбар, а там кнопка появилась в ТС я таким образом создаю 90% кнопок.
Добавлено: 05.02.2008 16:50:43
B4rr4cuda
Можно конечно, но тогда наверно перерисовка еще замедлится?
Не удержался - проверил. Все нормально, замедления если и есть, то их не заметно.

И красиво, не мешает "дата".

нужно, я в ТС пользуюсь, например появляется файл Read.me =) не асоциировать же его с блокнотом, а просто перетаскиваешь его на иконку нотепад++ и вуаля.
Ладно, кашу каждый по своему варит

. Мне проще F4 нажать и просмотреть в дефолтном редакторе (в том же Notepad++ например).
Добавлено: 05.02.2008 16:57:37
Alexx2000
Может быть. Тогда может опционально? Очень уж оно некрасиво...
Хорошо будет опционально. Сделать для всех полей?
нужно, я в ТС пользуюсь, например появляется файл Read.me =) не асоциировать же его с блокнотом, а просто перетаскиваешь его на иконку нотепад++ и вуаля.
Ага, я тоже привык к такому способу
изначально имелось ввуиду что нашел я в панели myprogra.exe перенес на тулбар, а там кнопка появилась в ТС я таким образом создаю 90% кнопок.
Такое за вечер можно сделать
Добавлено: 05.02.2008 17:36:27
B4rr4cuda
Хорошо будет опционально. Сделать для всех полей?
Желательно для всех.
Ага, я тоже привык к такому способу
(*Ехидно хихикая) Мышатники.
А серьёзно - у каждого своя метода. Юзер будет грустить и плеваться, когда по привычке перетащив файл на кнопку в тулбаре, будет пару минут висеть в ступоре, ожидая запуска программы и думая об апгрейде своего старого железа. А возможности-то нетути...

Добавлено: 05.02.2008 19:06:41
Attid
Ладно, кашу каждый по своему варит Smile. Мне проще F4 нажать и просмотреть в дефолтном редакторе (в том же Notepad++ например).
ну я же к примеру =) ладно просмотреть видеофайл непонятного расширения в mplayer =)
будет пару минут висеть в ступоре, ожидая запуска программы и думая об апгрейде своего старого железа.
а какая хрен разница что он запустит прогу из друго места и будет о том же думать ? это уже проблемы местных индейцев.
Alexx2000Такое за вечер можно сделать
только там еще кнопка шифт имеет значение и альт вроде тоже.
Добавлено: 05.02.2008 19:24:32
B4rr4cuda
ну я же к примеру =) ладно просмотреть видеофайл непонятного расширения в mplayer =)
Нажимаю Esc+F4 и выбираю из меню mplayer :p.
Я в тотале F4Menu использовал - очень удобно.
Привыкаешь навсегда. Вот и хочу такую мульку в DC. DC сейчас как ребенок - куда толкнешь, туда и пойдет. А я крайне заинтересован в его будущей функциональности и удобстве для себя, т.к. нормального фм в лине не нашел. Поэтому, чем смогу - помогу. Здоровый эгоизм.
а какая хрен разница что он запустит прогу из друго места и будет о том же думать ? это уже проблемы местных индейцев.

Я имел ввиду, кинет на кнопку в тулбаре, привыкнув, что в тотале запускается приложение, а тут запуск не реализован. И он томится, не понимая, почему прога еще не запустилась. =)
2
Alex2000 Кстати, а зачем в модуле framepanel.pas строка 564 вызывается проца DefaultDrawCell(ACol, ARow, Rect, State); ???
Отрисовка все равно полностью ручная. Работает одинаково, что с ней что без нее. Может убрать в целях оптимизации?
Добавлено: 05.02.2008 21:08:41
Attid
Я имел ввиду, кинет на кнопку в тулбаре, привыкнув, что в тотале запускается приложение, а тут запуск не реализован. И он томится, не понимая, почему прога еще не запустилась. =)
у меня в линуксе все работает =) и запуск приложений был реализован раньше чем мы к акшенам пришли.
Добавлено: 06.02.2008 01:26:34
Alexx2000
только там еще кнопка шифт имеет значение и альт вроде тоже.
Значит за два

B4rr4cuda писал(а):2Alex2000 Кстати, а зачем в модуле framepanel.pas строка 564 вызывается проца DefaultDrawCell(ACol, ARow, Rect, State); ???
Отрисовка все равно полностью ручная. Работает одинаково, что с ней что без нее. Может убрать в целях оптимизации?
Вообще должна производить дефолтную отрисовку заголовка колонок.
Если работает без нее, значит уберем
Добавлено: 06.02.2008 06:22:02
B4rr4cuda
Attid писал(а):у меня в линуксе все работает =) и запуск приложений был реализован раньше чем мы к акшенам пришли.
У тебя в линуксе работает Drag-and-Drop файлов между панелью и тулбаром
Ух, ты, а я думал Alex2000 только собирается это реализовать...

Ты могуч, юный падаван.

Добавлено: 06.02.2008 10:35:51
Attid
бррр
ты меня запутал, я дамал ты про тыки на кнопки.
пора в отпуск =)
Добавлено: 08.02.2008 00:25:53
Alexx2000
Добавил в процедуру отрисовки проверку ширины колонки, для активации этого режима необходимо в ini-файле, в секции [Configuration] установить ключ CutTextToColWidth=1
Позже вынесу эту опцию в диалог настроек.