mirror of
				https://gitlab.com/comunic/comunicterm
				synced 2025-11-04 04:04:07 +00:00 
			
		
		
		
	Show basic window
This commit is contained in:
		@@ -3,14 +3,16 @@ CONFIG += console c++11
 | 
			
		||||
CONFIG -= app_bundle
 | 
			
		||||
CONFIG -= qt
 | 
			
		||||
 | 
			
		||||
LIBS += -lboost_system -lcrypto -lssl -lcpprest
 | 
			
		||||
LIBS += -lboost_system -lcrypto -lssl -lcpprest -lncurses
 | 
			
		||||
 | 
			
		||||
SOURCES += \
 | 
			
		||||
        main.cpp \
 | 
			
		||||
    api_request.cpp \
 | 
			
		||||
    apiresponse.cpp
 | 
			
		||||
    apiresponse.cpp \
 | 
			
		||||
    loginscreen.cpp
 | 
			
		||||
 | 
			
		||||
HEADERS += \
 | 
			
		||||
    config.h \
 | 
			
		||||
    api_request.h \
 | 
			
		||||
    apiresponse.h
 | 
			
		||||
    apiresponse.h \
 | 
			
		||||
    loginscreen.h
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										61
									
								
								loginscreen.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								loginscreen.cpp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,61 @@
 | 
			
		||||
#include <ncurses.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
 | 
			
		||||
#include <string>
 | 
			
		||||
 | 
			
		||||
#include "loginscreen.h"
 | 
			
		||||
 | 
			
		||||
using namespace std;
 | 
			
		||||
 | 
			
		||||
LoginScreen::LoginScreen()
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool LoginScreen::exec()
 | 
			
		||||
{
 | 
			
		||||
    initscr();			/* Start curses mode 		  */
 | 
			
		||||
    keypad(stdscr, TRUE); // Listen to function keys
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    printw("ComunicTerm");	/* Print Hello World		  */
 | 
			
		||||
    refresh();			/* Print it on to the real screen */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    // Get screen size
 | 
			
		||||
    int row, col;
 | 
			
		||||
    getmaxyx(stdscr, row, col);
 | 
			
		||||
 | 
			
		||||
    const string msg = "Light client";
 | 
			
		||||
    mvprintw(0, (col-static_cast<int>(msg.length())), msg.c_str());
 | 
			
		||||
    refresh();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    int startX = (row-4*2)/2;
 | 
			
		||||
    int startY = (col-50)/2;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    mvprintw(startX, startY, "Please login to your Comunic account:");
 | 
			
		||||
 | 
			
		||||
    // Ask for email
 | 
			
		||||
    wattron(stdscr, A_REVERSE);
 | 
			
		||||
    mvprintw(startX+2, startY, "Email address:");
 | 
			
		||||
    wattroff(stdscr, A_REVERSE);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    // Ask for password
 | 
			
		||||
    wattron(stdscr, A_REVERSE);
 | 
			
		||||
    mvprintw(startX+4, startY, "Password:");
 | 
			
		||||
    wattroff(stdscr, A_REVERSE);
 | 
			
		||||
 | 
			
		||||
    // Validate button
 | 
			
		||||
    wattron(stdscr, A_REVERSE);
 | 
			
		||||
    mvprintw(startX+6, startY, "Login");
 | 
			
		||||
    wattroff(stdscr, A_REVERSE);
 | 
			
		||||
 | 
			
		||||
    refresh();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    getch();			/* Wait for user input */
 | 
			
		||||
    endwin();			/* End curses mode		  */
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										13
									
								
								loginscreen.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								loginscreen.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
			
		||||
/**
 | 
			
		||||
 * Login screen
 | 
			
		||||
 *
 | 
			
		||||
 * @author Pierre HUBERT
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
class LoginScreen
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
    LoginScreen();
 | 
			
		||||
 | 
			
		||||
    bool exec();
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										13
									
								
								main.cpp
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								main.cpp
									
									
									
									
									
								
							@@ -1,18 +1,19 @@
 | 
			
		||||
#include <iostream>
 | 
			
		||||
 | 
			
		||||
#include "api_request.h"
 | 
			
		||||
#include "loginscreen.h"
 | 
			
		||||
 | 
			
		||||
using namespace std;
 | 
			
		||||
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
    cout << "Comunic Term (c) Pierre HUBERT" << endl;
 | 
			
		||||
 | 
			
		||||
    auto req = ApiRequest("user/getInfosMultiple");
 | 
			
		||||
    req.addArg("usersID", "1");
 | 
			
		||||
    auto res = req.exec();
 | 
			
		||||
    cout << "code: " << res.code() << endl;
 | 
			
		||||
    cout << "content" << res.content().serialize() << endl;
 | 
			
		||||
    cout << "First name found: " << res.object().at("1").as_object().at(U("firstName")).as_string() << endl;
 | 
			
		||||
    // First, we need to sign in user
 | 
			
		||||
    if(!LoginScreen().exec()) {
 | 
			
		||||
        cerr << "Could not sign in user!" << endl;
 | 
			
		||||
        return -1;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user