Page 5 of 8

Re: Kolibri Image Viewer

Posted: Mon Jun 25, 2012 2:01 am
by dunkaist
Я взял на заметку.

Сейчас мне не нравится, что нельзя на лету поменять тип окна. Придётся запускать новый поток или вообще делать запуск с параметром и при переходе в режим слайд-шоу запускать новый kiv, а старый завершать. Ну или я что-то не учёл.

Иконка хорошая, спасибо.

Re: Kolibri Image Viewer

Posted: Mon Jun 25, 2012 2:12 am
by Leency
В WinXP для режима слайд шоу запускается новый поток. То, что запущено 2 программы можно увидеть по alt+tab.
Здесь можно также. Ничего криминального я в этом не вижу. Чтобы исключить альт+таб можно убивать слайд-шоу при деактивации окна - но тут могут быть подводные камни - внезапно вылезший @notify. Пока что вероятность этого чуть менее чем нулевая, так что вполне можно)

P.S. Там иконки 2 - я пост отредактировал. Мне белая даже как-то больше нравится...

Re: Kolibri Image Viewer

Posted: Mon Jun 25, 2012 10:06 am
by Leency
dunkaist wrote:Сейчас мне не нравится, что нельзя на лету поменять тип окна.
Что-то я засомневался и решил проверить. Всё таки можно.
Spoiler:

Code: Select all

#include "..\lib\kolibri.h" 
#include "..\lib\file_system.h"


int pro_inf;
int i;

void main()
{   
   dword id;
   word key;

loop()
   {
      switch(WaitEvent()) 
      {
         case evButton:
            id=GetButtonID();               
            if (id==1) ExitProcess();
			break;
      
        case evKey:
			key = GetKey();
			IF (key==013){ //Enter
				if (i==1) i=0; else i=1;
				draw_window();
			}
			break;
         
         case evReDraw:
			draw_window();
			break;
      }
   }
}


void draw_window()
{
   if (i==1) DefineAndDrawWindow(215,100,250,200,0x34,0xFFFFFF,0,0,"Fuck my brain!");
       else DefineAndDrawWindow(215,100,250,200,0x00,0xFFFFFF,0,0,"Fuck my brain!");
   WriteText(5,130,0x80,0,"Press Enter",0);
}


stop:

Re: Kolibri Image Viewer

Posted: Mon Jun 25, 2012 10:48 am
by dunkaist
О, классно! А я слишком общо понял
Положение и размеры окна устанавливаются при первом вызове этой функции и игнорируются при последующих; для изменения положения и/или размеров уже созданного окна используйте 67-ю функцию.

Re: Kolibri Image Viewer

Posted: Mon Jun 25, 2012 6:49 pm
by s1n
Leency, ну исходники то есть, так что дерзай. :3

Re: Kolibri Image Viewer

Posted: Mon Nov 26, 2012 2:52 am
by Leency
Удобно было бы, если бы в заголовке отображалось количество изображений и номер текущего, вроде
Картинка.png [2/16] - Kolibri Image Viewer

Re: Kolibri Image Viewer

Posted: Mon Nov 26, 2012 10:21 am
by dunkaist
Тогда уж [2/16] Картинка.png - Kolibri Image Viewer, чтобы глазами по заголовку не бегать в поисках этих индексов. И как ты себе представляешь определение количества картинок в папке? По расширению? По сигнатуре? А если их количество изменится во время работы программы? При каждом переходе к новой картинке перечитывать директорию?

Re: Kolibri Image Viewer

Posted: Mon Nov 26, 2012 1:31 pm
by Leency
Меня, как и всех, устроит любой вариант как он будет определять кол-во изображений в папке, если он будет работать. Сейчас KIV каким-то образом знает их кол-во и номер текущего изображения, т.к.
if (cur_num == img_num) cur_num = 0;

Re: Kolibri Image Viewer

Posted: Sun Dec 16, 2012 2:28 am
by Leency
Слайдшоу - это клёво, только сейчас как я понимаю окно делается MAXIMIZED, за счёт чего панель задач видна. А надо просто менять координаты на 0, 0 и размер окна на размер экрана.

Re: Kolibri Image Viewer

Posted: Sun Dec 16, 2012 11:04 am
by dunkaist
Не понял юмора. Проверь r3116 ещё раз.

Re: Kolibri Image Viewer

Posted: Sun Dec 16, 2012 12:39 pm
by Albom
Случайно перепутал кнопку "Слайдшоу" и "Установка изображения рабочего стола". Может к последней функции прикрутить MessageBox? ("Установить изображения?": "Да", "Нет")

Re: Kolibri Image Viewer

Posted: Sun Dec 16, 2012 1:30 pm
by dunkaist
Albom wrote:Случайно перепутал кнопку "Слайдшоу" и "Установка изображения рабочего стола". Может к последней функции прикрутить MessageBox? ("Установить изображения?": "Да", "Нет")
Я считаю это лишним, я не буду этого делать.

Кстати, нужно как-то адекватно (компактно и понятно) предоставить пользователю выбор режима обоев (stretch, tiled, fit, etc). Если у кого-нибудь появятся идеи -- буду рад услышать. Пока в голову не пришло ничего лучше рисования букв (S, T, F, etc) на кнопке установки обоев и смены режима по правому клику. Компактно, но с понятностью не очень.

Re: Kolibri Image Viewer

Posted: Sun Dec 16, 2012 3:26 pm
by dunkaist
Leency,
я таки понял, о чём ты говорил. Если окно уже максимизировано, то его размер не изменяется. Действительно просмотрел.

Я чего-то не знаю, или у нас и правда нельзя изменить размер максимизированного окна и нельзя без помощи пользователя его размаксимизировать?

Re: Kolibri Image Viewer

Posted: Sun Dec 16, 2012 3:40 pm
by Leency
Я тоже такой не помню, - есть место для 71.2 ф.

Я проверил как zSea с этим справляется. И он таки справляется, но нехорошим образом - он изменяет размеры клиентской области. Тоесть если программа вылетит (а возможно достаточно будет просто закрыть окно в режиме слайдшоу) и панель задач уже будет не видна при максимизировании окна.

Я когда-то предлагал диамонду сделать, чтобы в KIV при нажатии на установить обоями рабочего стола выпадало меню, но он счёл это сложным. У меня очень долго хранился этот концепт и в итоге я его удалил. Всё же я считаю идею с выпадающим меню при нажатии на кнопку удачной. Кнопки поворота также надо будет сгруппировать в одну кнопку с выпадающим меню.

Я над этим поработаю и позже выложу концепт.

Re: Kolibri Image Viewer

Posted: Sun Dec 16, 2012 4:03 pm
by dunkaist
Меню к установке обоев ещё куда ни шло (хотя мне не очень нравится идея создавать второй поток и общаться с ним), потому что им пользуются не так часто. А вот поворот фотографий -- обычное дело, и если для этого придётся целиться и кликать дважды, то лично мне будет неудобно.

Если у нас станет так много функций, что не будет хватать места для кнопок, тогда подумаем и о группировке.