atauenis / fcmd

The File Commander is a modern cross-platform two panel file manager, written in C#.
Other
42 stars 9 forks source link

Opening on double click #16

Closed Break-Neck closed 10 years ago

Break-Neck commented 10 years ago

Был очень удивлен, когда fcmd не обрабатывал двойные нажатия, теперь по двойному щелчку открывает текущий файл. Для этого потребовалось задать время задержки между щелчками (насколько быстрые считать двойным), добавил в User Setting, по-умолчанию стоит 1000 миллисекунд.

atauenis commented 10 years ago

Двойной клик работает, но только под GTK. Под WPF не работает, видимо, даблклик передаётся другому виджету-контейнеру. К сожалению, я сейчас далеко от ПК и не могу полноценно протестировать данный патч. Если не сложно, проверьте под Win-WPF, Win-GTK, Linux-GTK. А значение задержки хорошо бы брать из системных настроек. Для этого я уже кучу времени думаю написать по плагину:IPlugin для каждой ОС, используя уже сделанное гибкое (безынтерфейсное) API (APIcallhost, APIcallplugin).

Break-Neck commented 10 years ago

К сожалению, у меня не получилось запустить fcmd ни в связке Linux-GTK (это я писал то issue), ни Win-GTK ("Была попытка загрузить программу, имеющую неверный формат").

Действительно, значение задержки надо было сразу брать из системных настроек, я просто не был уверен, что это можно делать в управляемом коде; сейчас исправил, но на Mono протестировать не смог по уже упомянутым причинам.

atauenis commented 10 years ago

Чтобы запустить FC с Win-GTK, FC нужно компилировать в той же разрядности, что и установленный gtk#. Как правило, это х86. Wpf работает в обеих разрядностях.

Break-Neck commented 10 years ago

На Windows у меня работает.

atauenis commented 10 years ago

На будущее: любые правки более, чем на пару строк, рекомендуется сопровождать указанием в начале изменённого файла, над строкой "Contributors should place own signs here", своего имени (ника) и адреса e-mail. Да, есть Git, через который всегда можно понять, кто что сделал, но с "зарубкой" в начале файла как-то проще. Возникили вопросы - взял, да спросил авторов, как оно работает (работало).

atauenis commented 10 years ago

C новым бэкендом XWT GTK-3 fcmd падает:

(fcmd:10832): Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported

Похоже, причина в обращении к Winforms.SystemInformation.DoubleClickTime . В любом случае, дальше этой строки выполнение не идёт, а её комментирование устраняет падение. Надо вместо этого способа искать, кому уходит событие buttonpressed с multiplepress > 1.