Exemple #1
0
static UniqueResponse
message_received_cb (UniqueApp         *app,
		     UniqueCommand      command,
		     UniqueMessageData *message,
		     guint              time_,
		     gpointer           user_data)
{
	UniqueResponse res;
	gchar *feed;

	debug1(DEBUG_GUI, "libunique command received >>>%d<<<", command);

	switch (command)
	{
		case UNIQUE_ACTIVATE:
			/* Raise the liferea window */
			debug0 (DEBUG_GUI, "-> raise window requested");
			liferea_shell_present ();
			res = UNIQUE_RESPONSE_OK;
			break;
		case COMMAND_ADD_FEED:
			feed = unique_message_data_get_text (message);
			feedlist_add_subscription (feed, NULL, NULL, 0);

			res = UNIQUE_RESPONSE_OK;
			break;
		default:
			g_warning ("Received unknown libunique command: >>>%d<<<", command);
			res = UNIQUE_RESPONSE_OK;
			break;
	}

	return res;
}
Exemple #2
0
UniqueResponse
message_cb(UniqueApp *a, gint id, UniqueMessageData *message_data,
           guint time, gpointer data)
{
    (void) a;
    (void) id;
    (void) time;

    if (message_data) {
        lua_State *L = (lua_State*)data;
        /* get message text */
        gchar *text = unique_message_data_get_text(message_data);
        lua_pushstring(L, text);
        g_free(text);
        /* get message screen */
        GdkScreen *screen = unique_message_data_get_screen(message_data);
        lua_pushlightuserdata(L, screen);
        /* emit signal */
        signal_object_emit(L, unique_class.signals, "message", 2, 0);
    }

    return UNIQUE_RESPONSE_OK;
}
static UniqueResponse
message_received_cb (UniqueApp         *app,
                     UniqueCommand      command,
                     UniqueMessageData *message,
                     guint              time_,
                     gpointer           user_data)
{
  UniqueResponse res = UNIQUE_RESPONSE_OK;
  MyEditor* top = NULL;
  MyTabWindow* mtw = NULL;

  switch(command)
  {
    case UNIQUE_NEW:
    {
      MyEditorHandlerLin* meh = (MyEditorHandlerLin*)MyEditorHandlerLin::getInstance();
      top = meh->getTopEditor();
      if( top ) mtw = top->getTabWindow();
      meh->createEditor(mtw,NULL,0);
      //gtk_window_set_screen (GTK_WINDOW (ed->getWindow()), unique_message_data_get_screen (message));
      //gtk_window_present_with_time( GTK_WINDOW(ed->getWindow()), time_);
    }
    break;
    case UNIQUE_OPEN:
    {
      char* f = NULL;
      char* lineStr = NULL;
      int line = 0;
      MyEditor* me = NULL;
      MyEditorHandlerLin* meh = (MyEditorHandlerLin*)MyEditorHandlerLin::getInstance();

      top = meh->getTopEditor();
      if( top ) mtw = top->getTabWindow();

      char* file = unique_message_data_get_text(message);
      char* atSym = strrchr(file,'@');
      if( atSym )
      {
        lineStr = atSym + 1;
        *atSym = '\0';
        line = atoi(lineStr);
      }

      f = fileFullPath(file);

      if( f )
        me = meh->findEditor(f);
      else
        return UNIQUE_RESPONSE_FAIL;

      if( me )
      {
        meh->setTopEditor(me);
//        gtk_window_set_screen (GTK_WINDOW (me->getWindow()), unique_message_data_get_screen (message));
//cd         gtk_window_present_with_time( GTK_WINDOW(me->getWindow()), time_);
      }
      else
      {
        me = meh->createEditor(mtw,file,line+20);
      }

      me->focus();
      
      me->gotoLine(line-1);

      if( f ) free(f);
      if( file ) free(file);
      
    }
    break;
    default:
    {
    }
    break;
      // do nothing
  }

  return res;
}