1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-12-04 14:46:46 -05:00

Added ui/console module

This commit is contained in:
James Booth 2013-04-20 21:42:39 +01:00
parent 81020e6d43
commit 3e66b0a9d2
4 changed files with 81 additions and 14 deletions

View File

@ -10,6 +10,7 @@ profanity_SOURCES = src/contact.c src/contact.h src/log.c src/common.c \
src/xmpp/capabilities.h src/xmpp/connection.h \
src/ui/ui.h src/ui/window.c src/ui/window.h src/ui/windows.c \
src/ui/titlebar.c src/ui/statusbar.c src/ui/inputwin.c \
src/ui/console.h src/ui/console.c \
src/command/command.h src/command/command.c src/command/history.c \
src/command/history.h src/command/parser.c \
src/command/parser.h \

43
src/ui/console.c Normal file
View File

@ -0,0 +1,43 @@
/*
* console.c
*
* Copyright (C) 2012, 2013 James Booth <boothj5@gmail.com>
*
* This file is part of Profanity.
*
* Profanity is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Profanity is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Profanity. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifdef HAVE_NCURSESW_NCURSES_H
#include <ncursesw/ncurses.h>
#elif HAVE_NCURSES_H
#include <ncurses.h>
#endif
#include "ui/window.h"
#define CONS_WIN_TITLE "_cons"
static ProfWin* console;
ProfWin *
console_create(void)
{
int cols = getmaxx(stdscr);
console = window_create(CONS_WIN_TITLE, cols, WIN_CONSOLE);
return console;
}

31
src/ui/console.h Normal file
View File

@ -0,0 +1,31 @@
/*
* console.h
*
* Copyright (C) 2012, 2013 James Booth <boothj5@gmail.com>
*
* This file is part of Profanity.
*
* Profanity is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Profanity is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Profanity. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef CONSOLE_H
#define CONSOLE_H
#include "ui/window.h"
ProfWin* console_create(void);
#endif

View File

@ -50,10 +50,10 @@
#include "jid.h"
#include "log.h"
#include "muc.h"
#include "ui/console.h"
#include "ui/ui.h"
#include "ui/window.h"
#define CONS_WIN_TITLE "_cons"
#define NUM_WINS 10
// holds console at index 0 and chat wins 1 through to 9
@ -79,7 +79,6 @@ static Display *display;
static GTimer *ui_idle_time;
static void _set_current(int index);
static void _create_windows(void);
static void _cons_splash_logo(void);
static void _cons_show_basic_help(void);
static void _win_show_contact(ProfWin *window, PContact contact);
@ -132,7 +131,11 @@ ui_init(void)
create_status_bar();
status_bar_active(0);
create_input_window();
_create_windows();
max_cols = getmaxx(stdscr);
windows[0] = console_create();
console = windows[0];
current = console;
cons_about();
#ifdef HAVE_LIBXSS
display = XOpenDisplay(0);
#endif
@ -2238,17 +2241,6 @@ _notify_typing(const char * const from)
_notify(message, 10000, "Incoming message");
}
static void
_create_windows(void)
{
int cols = getmaxx(stdscr);
max_cols = cols;
windows[0] = window_create(CONS_WIN_TITLE, cols, WIN_CONSOLE);
console = windows[0];
current = console;
cons_about();
}
static gboolean
_new_release(char *found_version)
{