Browse Source

Cleanup of #60.

merge-requests/365/head
eidheim 10 years ago
parent
commit
71d6d73599
  1. 10
      src/terminal.cc
  2. 6
      src/terminal.h
  3. 10
      src/terminal_win.cc

10
src/terminal.cc

@ -282,7 +282,7 @@ void Terminal::kill_async_executes(bool force) {
async_executes_mutex.unlock(); async_executes_mutex.unlock();
} }
int Terminal::print(const std::string &message, bool bold){ size_t Terminal::print(const std::string &message, bool bold){
Glib::ustring umessage=message; Glib::ustring umessage=message;
Glib::ustring::iterator iter; Glib::ustring::iterator iter;
while(!umessage.validate(iter)) { while(!umessage.validate(iter)) {
@ -309,11 +309,11 @@ int Terminal::print(const std::string &message, bool bold){
deleted_lines+=static_cast<size_t>(lines); deleted_lines+=static_cast<size_t>(lines);
} }
return static_cast<int>(static_cast<size_t>(get_buffer()->end().get_line())+deleted_lines); return static_cast<size_t>(get_buffer()->end().get_line())+deleted_lines;
} }
void Terminal::print(int line_nr, const std::string &message){ void Terminal::print(size_t line_nr, const std::string &message){
if(static_cast<size_t>(line_nr)<deleted_lines) if(line_nr<deleted_lines)
return; return;
Glib::ustring umessage=message; Glib::ustring umessage=message;
@ -324,7 +324,7 @@ void Terminal::print(int line_nr, const std::string &message){
umessage.replace(iter, next_char_iter, "?"); umessage.replace(iter, next_char_iter, "?");
} }
auto end_line_iter=get_buffer()->get_iter_at_line(static_cast<int>(static_cast<size_t>(line_nr)-deleted_lines)); auto end_line_iter=get_buffer()->get_iter_at_line(static_cast<int>(line_nr-deleted_lines));
while(!end_line_iter.ends_line() && end_line_iter.forward_char()) {} while(!end_line_iter.ends_line() && end_line_iter.forward_char()) {}
get_buffer()->insert(end_line_iter, umessage); get_buffer()->insert(end_line_iter, umessage);

6
src/terminal.h

@ -26,7 +26,7 @@ public:
void cancel(const std::string& msg); void cancel(const std::string& msg);
private: private:
void start(const std::string& msg); void start(const std::string& msg);
int line_nr; size_t line_nr;
std::atomic<bool> stop; std::atomic<bool> stop;
Glib::Dispatcher waiting_print; Glib::Dispatcher waiting_print;
std::thread wait_thread; std::thread wait_thread;
@ -38,8 +38,8 @@ public:
void kill_last_async_execute(bool force=false); void kill_last_async_execute(bool force=false);
void kill_async_executes(bool force=false); void kill_async_executes(bool force=false);
int print(const std::string &message, bool bold=false); size_t print(const std::string &message, bool bold=false);
void print(int line_nr, const std::string &message); void print(size_t line_nr, const std::string &message);
std::shared_ptr<InProgress> print_in_progress(std::string start_msg); std::shared_ptr<InProgress> print_in_progress(std::string start_msg);
void async_print(const std::string &message, bool bold=false); void async_print(const std::string &message, bool bold=false);
void async_print(int line_nr, const std::string &message); void async_print(int line_nr, const std::string &message);

10
src/terminal_win.cc

@ -331,7 +331,7 @@ void Terminal::kill_async_executes(bool force) {
async_executes_mutex.unlock(); async_executes_mutex.unlock();
} }
int Terminal::print(const std::string &message, bool bold){ size_t Terminal::print(const std::string &message, bool bold){
Glib::ustring umessage=message; Glib::ustring umessage=message;
Glib::ustring::iterator iter; Glib::ustring::iterator iter;
while(!umessage.validate(iter)) { while(!umessage.validate(iter)) {
@ -358,11 +358,11 @@ int Terminal::print(const std::string &message, bool bold){
deleted_lines+=static_cast<size_t>(lines); deleted_lines+=static_cast<size_t>(lines);
} }
return static_cast<int>(static_cast<size_t>(get_buffer()->end().get_line())+deleted_lines); return static_cast<size_t>(get_buffer()->end().get_line())+deleted_lines;
} }
void Terminal::print(int line_nr, const std::string &message){ void Terminal::print(size_t line_nr, const std::string &message){
if(static_cast<size_t>(line_nr)<deleted_lines) if(line_nr<deleted_lines)
return; return;
Glib::ustring umessage=message; Glib::ustring umessage=message;
@ -373,7 +373,7 @@ void Terminal::print(int line_nr, const std::string &message){
umessage.replace(iter, next_char_iter, "?"); umessage.replace(iter, next_char_iter, "?");
} }
auto end_line_iter=get_buffer()->get_iter_at_line(static_cast<int>(static_cast<size_t>(line_nr)-deleted_lines)); auto end_line_iter=get_buffer()->get_iter_at_line(static_cast<int>(line_nr-deleted_lines));
while(!end_line_iter.ends_line() && end_line_iter.forward_char()) {} while(!end_line_iter.ends_line() && end_line_iter.forward_char()) {}
get_buffer()->insert(end_line_iter, umessage); get_buffer()->insert(end_line_iter, umessage);

Loading…
Cancel
Save