LINUX.ORG.RU

Сообщения shk

 

[Qt] Создание класса на основе QWidget

Доброго времени суток ЛОР. Пытаюсь создать класс на базе QWidget:

class Square : public QWidget
{
    Q_OBJECT

    public:
        Square(QWidget *parent = 0);
};

Вся проблема в конструкторе. В Square.cpp:

Square::Square(QWidget *parent) : QWidget(parent)
{
}

Компиялтор выдает ошибки: error: undefined reference to `vtable for Square' и :: error: collect2: ld returned 1 exit status

Откуда тут вобще vtable? Как исправить?

Спасибо

 

shk
()

Вышел udev 162

Udev — менеджер устройств для Linux. Его основная задача — обслуживание файлов устройств в каталоге /dev.

3 сентября вышла новая версия — udev 162.

В этом выпуске:

  • добавлена поддержка раскладки клавиатуры для Lenovo IdeaPad S10-3;
  • cdrom_id: удален MEDIA_SESSION_NEXT из DVD-RW-RO;
  • добавлен pid в логи ksmg;
  • добавлена поддержка oom_score_adj;
  • исправлена раскладка Acer TravelMate 4720;
  • исправлена Sony VAIO VGN-SZ2HP/B;
  • добавлена поддержка HP G60;
  • добавлена поддержка Onkyo PC.

И много других исправленных ошибок и добавлений.

Подробности

Перемещено annoynimous из OpenSource

shk
()

[отсоветуйте][Android] HTC WildFire

Доброго времени суток ЛОР. Вот решил взять себе HTC Wildfire. Кто имел дело с сим девайсом поделитесь по возможности объективными впечатлениями.

Всем спасибо.

 

shk
()

Проблема со сборкой пакета

Доброго времени суток. В Fedora 13 пытаюсь собрать Talika applet, во время make вылетают ошибка:

/usr/bin/ld: gpicview-screenshot.o: undefined reference to symbol 'XFree'
/usr/bin/ld: note: 'XFree' is defined in DSO /usr/lib/libX11.so.6 so try adding it to the linker command line
/usr/lib/libX11.so.6: could not read symbols: Invalid operation
collect2: ld returned 1 exit status

lib-X11-devel установлена. Как лечить?

Спасибо.

shk
()

[Fedora] проблема с установкой пакетов

Доброго времени суток. Скачал Fedora 13, установил. Пытаюсь выполнить в терминале:

yum install make automake gcc gcc-c++ kernel-devel

Пакеты начинают скачиваться, доходит до 6-7%, скорость падает до 0:


(1/5) gcc (6%) | 304 kb 686126135143414397112189067525105123897027394565343368:32 ETA

Кто встречался? В чем может быить проблема?

Cпасибо

 

shk
()

Посоветуйте дистр

Доброго времени суток, Debian stable стоящий на десктопе устарел в конец, хочется чего-либо по свежее. Посоветуйте что-нибудь по новее.

Спасибо

shk
()

[Makefile] Проверка на существование папки

Доброго времени суток. Что нужно прописать в Makefile что бы проверить есть ли папка по заданному пути и если нету то создать.

Спасибо

 

shk
()

[gtk+] Опять печать

Доброго времени суток. У меня опять небольшая проблема с печатью. Мне нужно, если изображение не помещается на A4 то его разрезать на несколько частей. Вот код:

static void draw_page (GtkPrintOperation * oper, GtkPrintContext * context, 
            			  gint nr, gpointer user_data)
{
   MainWin* mw = (MainWin*)user_data;
	
   GdkPixbuf* pixbuf = gdk_pixbuf_new_from_file(image_list_get_current_file_path (mw->img_list),
												NULL);	
	
   GdkPixbuf* sub_pixbuf = NULL;
   cairo_t *cr = gtk_print_context_get_cairo_context (context);
	
   int i = 0;
   int j = 0;
   int n = 0;
	
   guint  width   = 0;
   guint  height  = 0;
   guint  width1  = 0;
   guint  height1 = 0; 
	
   guint  x = 210;
   guint  y = 297;

   width = gdk_pixbuf_get_width(pixbuf);
   height = gdk_pixbuf_get_height(pixbuf);
   width1 = gdk_pixbuf_get_width(pixbuf);
   height1 = gdk_pixbuf_get_height(pixbuf);	 
	
   if (width < 210 && height < 300)
   {
     gdk_cairo_set_source_pixbuf(cr, pixbuf, 0, 0);
   }
   else
   {
	 int count = 0;
	   
     while (width >= 208)
     {
	   width -= 208;
       ++count;
     }
	   
	 for (i; i <= count; i++)
     {
		if (i == count)
		{
			sub_pixbuf = gdk_pixbuf_new_subpixbuf(pixbuf, j, 0,  width - 1 , 295);
		    list = g_list_prepend (list, sub_pixbuf); 
			break;
		}
		else
		{ 
		    sub_pixbuf = gdk_pixbuf_new_subpixbuf(pixbuf,j, 0,  208, 295);
	        list = g_list_prepend (list, sub_pixbuf); 
	        j += 208;
		}
		 
		 gdk_cairo_set_source_pixbuf(cr, g_list_nth_data(list,i), 0, 0);
	 }
   }
		
   cairo_paint (cr);  
   g_object_unref (pixbuf);   
}

Разрезать получилось. По ширине режется нормально. Но есть проблема. Допустим если изображение разрезано на 4 части, на печать отправляется только 1 либо какую укажешь в :

gdk_cairo_set_source_pixbuf(cr, g_list_nth_data(list,i), 0, 0);
После того как от изображения отрезается какая-то часть, эта часть сразу же сохраняется в GList.

Как сделать так что бы на печать отправлялись все части изображения а не 1?

Cпасибо.

shk
()

[gtk+] печать

Доброго времени суток. Есть С/gtk+ приложение, в нем есть список изображений, обычный GList, хранящий пути к этим файлам. Вопрос в следующем, как это все отправить на печать, и возможно ли это средствами gtk+? Вообщем куда копать?

Спасибо

shk
()

[Emacs] lisp eval defun

Доброго времени суток. В Emacs если открыть lisp файл, появляется меню lisp и в нем есть пункт eval defun, что нужно прописать в .emacs что бы привязать к нему горячие клавиши?

Спасибо

 

shk
()

[C] libexif опционально

Доброго времени суток. В своем проекте хочу использовать libexif, но нужно сделать что бы libexif добавлялся опционально при установке, то есть можно было бы установить приложение и без него. Что прописать в configure?

Спасибо

 

shk
()

jhead вывод не в консоль

Доброго времени суток ЛОР. Использую в своем приложении jhead для получения exif информации, но jhead умеет выводить данные только на консоль. Кто-нибудь работал с jhead. Как вобще выцепить exif данные? А потом вывести их в какой-нибудь виджет?

Пробую:

const char* file_name = ImageInfo.FileName;

где ImageInfo структура из jhead, но в итоге file_name = NULL.

Cпасибо.

shk
()

[Emacs] jabber.el

Доброго времени суток. Вот пытаюсь настроить jabber клиент в Emacs. Вобщем установил:

aptitude install emacs-jabber

Прописал в .emacs (require 'jabber)

Теперь самое интересное. В системе стоят 2 версии эмакса: 23.2.1 и 22.2.1 В версии постарее все нормально. А вот в версии 23.2.1 при запуске вижу File error: Cannot open load file, jabber

Как лечить?

Спасибо.

 

shk
()

[gtk+] теперь g_io_scheduler_job_send_to_mainloop

Доброго времени суток. Удалось наконец-то запустить функцию в отдельном потоке, но не теперь встала другая проблема:

Теперь мне нужно все что я загрузил с помощью этой функции, уже в основном потоке отобразить изображение в GtkAnimView. Делаю так:

Сама функция для загрузки из стрима:

void loading(GtkWidget* widget ,MainWin* mw)
{   
    GInputStream* input_stream;

    input_stream = g_file_read(loading_file, mw->generator_cancellable, NULL);  
    mw->animation = load_image_from_stream(G_INPUT_STREAM(input_stream), mw->generator_cancellable);    

    g_input_stream_close(input_stream, mw->generator_cancellable, NULL);
    g_object_unref (input_stream);  
}

Теперь запускаю ее в дургом потоке:

gboolean main_win_open( MainWin* mw,  ZoomMode zoom )
{               

    JobParam* param1 = malloc(sizeof(JobParam));
    param1->widget = NULL;
    param1->mw     = mw;

    g_io_scheduler_push_job (job_func1, param1, NULL, G_PRIORITY_HIGH, param1->mw->generator_cancellable);
}

Cама job_func1, здесь же пытаюсь запусить в основной поток функцию set_image с помощью g_io_scheduler_job_send_to_mainloop:

gboolean job_func1(GIOSchedulerJob *job, GCancellable *cancellable, gpointer user_data)
{
    JobParam* param = (JobParam*)user_data;

    while (g_cancellable_is_cancelled(cancellable) == FALSE)
    {
        loading(NULL, param->mw);       
        g_cancellable_cancel (param->mw->generator_cancellable);
    }

    // переход в основной поток
    g_io_scheduler_job_send_to_mainloop(job, set_image, param, NULL);
    g_cancellable_cancel (param->mw->generator_cancellable);
}

set_image:

void set_image(JobParam* param)
{
   gtk_anim_view_set_anim (param->mw->aview, param->mw->animation);
}

Запускаю программу. Вызываю все это дело. Изображение грузится и отображается нормально. Но если попытаться загрузить другое изображение то отображается почему то только первое. Причем loading_file меняется каждый раз.

Спасибо.

shk
()

[gtk+] опять g_io_scheduler_push_job

Доброго времени суток ЛОР. Есть такой код:

g_io_scheduler_push_job (job_func1, param1, NULL, G_PRIORITY_HIGH, mw->generator_cancellable);	

Можно как-нибудь узнать когда закончит выполнение job_func1?

Спасибо

shk
()

[gtk+] Загрузка данных в отдельном потоке

Доброго времени суток ЛОР. Стоит задача запустить в отдельном потоке функцию загрузки данных от главной формы.

Для этого использую GIOScheduler.

Ест функция самой загрузки:

void load(GInputStream* input_stream, GCancellable* cancellable)
{
   ...
}

Сама функция загрузки работает 100%. Затем есть функция которую нужно отправить в отдельный поток:

void loading(MainWin* mw)
{
  GInputStream* input_stream = g_file_read(loading_file, mw->generator_cancellable, NULL);
  mw->data = load(G_INPUT_STREAM(input_stream), mw->generator_cancellable);
}

Пытаюсь отправить следующим образом:

g_io_scheduler_push_job( job_func1, mw, NULL, G_PRIORITY_DEFAULT, mw->generator_cancellable);

Где job_func:

static void job_func1(GIOSchedulerJob *job, GCancellable *cancellable, gpointer user_data)
{
    MainWin* mw  = (MainWin*)user_data;
	while(!g_cancellable_is_cancelled(mw->generator_cancellable))
	{
		g_io_scheduler_job_send_to_mainloop(job, loading, mw, NULL);
	}
}

При запуске программы, при вызове loading ничего данные не загружаются + быстро утекает память.

В чем может быть проблема. 3 суток сижу ничего не могу придумать.

Спасибо

shk
()

Emacs автодополнение в cc-mode

Доброго времени суток ЛОР. Вот потихоньку начал осваивать Emacs. Реально ли и если да то как привязать автодополнение в cc-mode?

Cпасибо.

shk
()

Emacs цвет скролбара

Доброго времени суток. Что нужно прописать в .emacs что бы изменит цвет скролбара?

Спасибо

shk
()

[C] запущен ли процесс

Доброго времени суток ЛОР. Как с помощью Си зная только имя процесса узнать, запущен он в данный момент или нет?

 

shk
()

gtk+ утечка памяти

Доброго времени суток ЛОР. Есть следующий код:

void loading(GtkWidget *widget, const char* file_path, MainWin* mw)
{
	GError* error; 
        gssize n_read;
	gboolean res;
	guchar buffer[LOAD_BUFFER_SIZE];
	GInputStream* input_stream;
	GFile *file = g_file_new_for_path(file_path);

        mw->loader =    gdk_pixbuf_loader_new();
	mw->animation = gdk_pixbuf_animation_new_from_file(file_path,error);	
	input_stream = g_file_read(file, generator_cancellable , NULL);
	
	res = TRUE;
	
	while (1){
		n_read = g_input_stream_read(input_stream, buffer, sizeof (buffer),generator_cancellable,error);
		
		if (n_read < 0) {
                        res = FALSE;
                        error = NULL; 
			            gdk_pixbuf_loader_close(mw->loader,NULL);
			            g_input_stream_close(input_stream,NULL,NULL);  
                        break;
                }
	
	if (n_read == 0)
        break;
	
	if (!gdk_pixbuf_loader_write(mw->loader, buffer, sizeof(buffer), error)){
	   res = FALSE;
	   g_input_stream_close(input_stream,NULL,NULL);
	   gdk_pixbuf_loader_close(mw->loader,NULL);
       break;
	   }
	
	if (res){		

      if ( !gdk_pixbuf_animation_is_static_image(mw->animation ) )
		gtk_action_group_set_sensitive(rotation_actions, FALSE);
	  else
		gtk_action_group_set_sensitive(rotation_actions, TRUE);
        		
		mw->animation = gdk_pixbuf_loader_get_animation((mw->loader));
	    gtk_anim_view_set_anim (mw->aview,mw->animation);	
	}
  }
	g_input_stream_close(input_stream,NULL,NULL);
	gdk_pixbuf_loader_close(mw->loader,NULL);
}

Данный код загружает изображение расположенное по адресу file_path в GtkAnimView виджет. Дело в том что при каждом вызове этой функции а следовательно при епждой загрузке и отображении какого-либо изображения прибавляется память занимаемая приложением. В чем проблема вроде все позакрывал?

Спасибо

shk
()

RSS подписка на новые темы