aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/qregisters.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qregisters.cpp')
-rw-r--r--src/qregisters.cpp22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/qregisters.cpp b/src/qregisters.cpp
index 24ca904..846a5a4 100644
--- a/src/qregisters.cpp
+++ b/src/qregisters.cpp
@@ -229,16 +229,24 @@ QRegister::load(const gchar *filename)
}
tecoInt
-QRegisterBufferInfo::get_integer(void)
+QRegisterBufferInfo::set_integer(tecoInt v)
{
- tecoInt id = 1;
+ if (!ring.edit(v))
+ throw Error("Invalid buffer id %" TECO_INTEGER_FORMAT, v);
- for (Buffer *buffer = ring.first();
- buffer != ring.current;
- buffer = buffer->next())
- id++;
+ return v;
+}
- return id;
+void
+QRegisterBufferInfo::undo_set_integer(void)
+{
+ current_doc_undo_edit();
+}
+
+tecoInt
+QRegisterBufferInfo::get_integer(void)
+{
+ return ring.get_id();
}
gchar *